首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法发送邮件

无法发送邮件
EN

Stack Overflow用户
提问于 2015-12-28 23:43:28
回答 1查看 77关注 0票数 0

我尝试过使用以下代码发送邮件:

代码语言:javascript
复制
SmtpClient client = new SmtpClient();
client.Port = 587;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Timeout = 10000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("email@gmail.com", "password");

MailMessage mail = new MailMessage("email@gmail.com", "some1@gmail.com", "Subject", "Body");
mail.BodyEncoding = UTF8Encoding.UTF8;
mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

client.Send(mail);

它不工作,错误看起来像这样:http://scr.hu/5gpw/tv6hn这段代码有什么问题?

EN

回答 1

Stack Overflow用户

发布于 2015-12-29 00:08:50

我会把代码改成一个方法,然后测试通过端口,主机等,看看它是否对你有效,我刚刚测试了它,它在我这一端工作得很好。

代码语言:javascript
复制
public void Send(string from, string to,string smtpServer, int smtpPort,string username, string password)
{
    try
    {
        using (MailMessage mm = new MailMessage())
        {
            SmtpClient sc = new SmtpClient();
            mm.From = new MailAddress(from, "Test");
            mm.To.Add(new MailAddress(to));
            mm.IsBodyHtml = true;
            mm.Subject = "Test Message";
            mm.Body = "This is a test email message from Krzysztof Senska";
            mm.BodyEncoding = System.Text.Encoding.UTF8;
            mm.SubjectEncoding = System.Text.Encoding.UTF8;
            NetworkCredential su = new NetworkCredential(username, password);
            sc.Host = smtpServer;
            sc.Port = smtpPort;
            sc.Credentials = su;
            sc.Send(mm);
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34496433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档