【问题标题】:Can't send mails无法发送邮件
【发布时间】:2015-12-29 00:08:50
【问题描述】:

我尝试使用此代码发送邮件:

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 这段代码有什么问题?

【问题讨论】:

标签: c# email smtp gmail


【解决方案1】:

我会将代码更改为方法并测试通过端口、主机等查看它是否适合您

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);
    }
}

【讨论】:

    猜你喜欢
    • 2015-07-07
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    • 2015-06-13
    相关资源
    最近更新 更多