由于新的Google安全要求,我试图使用asp.net应用程序使用smtp.freesmtpservers.com发送电子邮件,它应该是一个免费的应用程序测试服务,甚至不需要身份验证。
这是我的密码:
MailMessage mail = new MailMessage();
mail.To.Add(email);
mail.From = new MailAddress("noreplay@gmail.com");
mail.Subject = "new password ";
mail.Body = rand.ToString();
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
SmtpClient smtp = new SmtpClient();
smtp.EnableSsl = true;
smtp.Host = "smtp.freesmtpservers.com";
smtp.Port = 25;
smtp.UseDefaultCredentials = false;
smtp.Timeout = 60000;`这是我得到的错误:
连接尝试失败是因为连接方在一段时间后没有正确响应,或者已建立的连接失败是因为连接主机没有响应
我试着补充:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;但什么都不管用。
发布于 2022-08-07 16:25:30
先试试这样的方法:
try
{
var fromAddress = new MailAddress("no-reply@somedomain.com", "Robot");
var toAddress = new MailAddress("joebob@aol.com");
string fromPassword = "somePassword";
string subject = "This is a subject line";
string body = "Hello, ";
var smtp = new SmtpClient
{
Host = "smtp.freesmtpservers.com",
Port = 587, // or 25
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential("Username", fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body,
})
{
smtp.Send(message);
}
}
catch (Exception ex)
{
ex.ToString().Dump();
}显然,对于密码和什么不是,您可以使用安全字符串,但这只是一个工作的例子。我用我自己的web服务器进行了测试,smtp也发送得很好。
https://stackoverflow.com/questions/73266853
复制相似问题