【发布时间】:2017-07-18 04:02:12
【问题描述】:
我正在尝试使用我的 gmailaccount 从服务器使用以下代码发送邮件。
var fromAddress = new MailAddress("xxxxx@gmail.com", "xxxxxx");
var toAddress = new MailAddress(toMailAddress);
const string fromPassword = "xxxxx";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
IsBodyHtml = true,
Subject = mailSubject,
Body = htmlBody
})
{
smtp.Send(message);
}
当我在我的 Windows 服务器上部署它时,这给出了下一个结果,尽管我在防火墙上的端口 587 有一个 Inobound 规则。当我在本地测试它时它工作得很好
【问题讨论】:
-
看看这个问题也学会使用调试器来单步调试你的代码——Sending Mail to Gmail Account using C#
-
每个 OPs 自己对下面奇怪接受的答案发表评论,我投票决定关闭它,因为它过于本地化,因为它是由 OPs 托管公司在防火墙中打开一个端口解决的。