我正在尝试使用C#发送电子邮件,但出现错误。
邮箱不可用。服务器响应为:中继访问被拒绝。请验证。
我不确定为什么会出现此错误。在这里,我正在使用smtp2go第三方发送此电子邮件。
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("mail.smtp2go.com");
mail.From = new MailAddress("myemail@wraptite.com");
mail.To.Add("test1@gmail.com");
mail.Subject = "Test Email";
mail.Body = "Report";
//Attachment attachment = new Attachment(filename);
//mail.Attachments.Add(attachment);
SmtpServer.Port = 25;
SmtpServer.Credentials = new System.Net.NetworkCredential("me", "password");
//SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
答案 0 :(得分:2)
我已经尝试过您的代码,并且可以正常工作。
但就我而言,要使用smtp服务器,发件人(发件人的电子邮件地址)必须使用相同的域进行身份验证。(但是此Send emails from a different address or alias可以使用gmail)
因此,如果您的SMTP服务器连接到smtp2go.com
,请尝试以下操作。
SmtpClient SmtpServer = new SmtpClient("mail.smtp2go.com");
mail.From = new MailAddress("myemail@smtp2go.com");
或者,如果您需要使用smtp2go的服务,最好使用其余的API。
需要Gmail secure app access。这就是为什么代码不起作用的原因。
因此,有两种选择。
(起源于此:C# - 이메일 발송방법)
转到here和turn on
“缺乏安全的应用程序访问权限”。完成此操作后,您的代码将正常工作。(有效)
我认为这不是那么容易,请检查一下,我找到了与此here
相关的答案