.Net smtp 不发送电子邮件,没有错误

use*_*085 5 .net c# asp.net email smtp

我正在尝试使用我的客户组织的电子邮件服务器通过 Web 应用程序发送电子邮件。以下是我正在使用的代码。

MailMessage MyMailMessage = new MailMessage();
MyMailMessage.Subject = "Email testing";
MyMailMessage.From = new MailAddress("name@mydomain.com", "My name");
MyMailMessage.To.Add(new MailAddress(strEmail, "Applicant"));

SmtpClient mySmtpClient = new SmtpClient();
mySmtpClient.EnableSsl = true;
mySmtpClient.Send(Accepted);
Run Code Online (Sandbox Code Playgroud)

Web.config 文件:

<mailSettings>
  <smtp deliveryMethod="Network" from=" name@mydomain.com">
    <network host="smtps.mydomain.com" port="465" enableSsl="true" defaultCredentials="true"
    userName="myName" password="myPassword" />
  </smtp>
</mailSettings>
Run Code Online (Sandbox Code Playgroud)

当我使用 gmail smtp 详细信息或本地组织的 smtp 详细信息时,它工作得非常好。出于某种原因,它不起作用,也没有抛出任何错误。

我试过调试并检查了“超时”的异常。

我不知道还有什么要检查的。有人可以提出解决方案。

注意:我还检查了没有防火墙阻止端口:465。

谢谢你。

亲切的问候,

Cri*_* E. 0

试试这个:

var sysLogin="yourlogin@gmail.com";
var sysPass="y0urP@ss";
var sysAddress = new MailAddress(sysLogin, "Message from me!");

var receiverAddress = new MailAddress("mike@hotmail.com");

var smtp = new SmtpClient
        {
            Host = "smtp.gmail.com",   //gmail example
            Port = 587,
            EnableSsl = false,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            UseDefaultCredentials = false,
            Credentials = new NetworkCredential(sysLogin, sysPass)
        };

        using (var message = new MailMessage(sysAddress, receiverAddress) { Subject = "Some subject", Body = "Some text" })
        {
            smtp.Send(message);
        }
Run Code Online (Sandbox Code Playgroud)