-4

可能重复:
通过 Gmail 在 .NET 中发送电子邮件

我在使用 C# 程序发送电子邮件时遇到网络超时问题

我的代码是

protected void sendEmail(String m_RecipentTo)
{
    MailMessage mailMessage = new MailMessage();
    SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
    mailMessage.To.Add(m_RecipentTo);
    mailMessage.Subject = m_Subject;
    mailMessage.Body = m_Body;
    mailMessage.From =  new MailAddress(m_SenderEmail);
    SmtpServer.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
    SmtpServer.Port = 465;
    SmtpServer.EnableSsl = true;
    SmtpServer.Credentials = new System.Net.NetworkCredential(username, password);
    SmtpServer.Send(mailMessage);
}

我尝试使用它提供的端口号 587

尝试以访问权限 74.125.25.108:587 禁止的方式访问套接字。

我在文件墙设置 -> 入站规则 -> 端口下添加了端口

4

1 回答 1

0

这是最简单的方法。。

using System.Net.Mail;

SmtpClient smtpClient = new SmtpClient("smtp.gmail.com",587);
smtpClient.EnableSsl = true;
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("USER_NAME", "PASSWORD");
smtpClient.Credentials = credentials;

string[] tos;
this.to=this.to.Replace(',',' ');
//this.Bcc = this.bcc;
tos=this.to.Split();
for (int i = 0; i < tos.Length; i++)
{
    MailMessage ml = new MailMessage(this.from, tos[i].ToString(), this.sub, 
                     this.msg);
    ml.IsBodyHtml = true;
    smtpClient.Send(ml);
}
于 2012-10-16T09:11:06.317 回答