是否可以通过.net应用程序从使用smtp-relay的服务器发送电子邮件。
我正在使用app.config来获取服务器IP的实际值,以及电子邮件应该使用的内容。
根据IT技术人员的说法,不需要授权的用户名和密码,因为它使用smtp-relay。要发送电子邮件的计算机位于有效计算机的smtp-servers列表中。
这实际上可以工作,我不需要指定用户名/ pwd吗?
try
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient(_smtpserver);
mail.From = new MailAddress(_fromAdress);
mail.To.Add(_toAdress);
mail.Subject = _subject;
mail.Body = _body;
mail.Priority = MailPriority.High;
SmtpServer.Port = Convert.ToInt32(_port);
SmtpServer.Credentials = new System.Net.NetworkCredential(_authUsername, _authPassword);
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
答案 0 :(得分:2)
在您的代码段中,您指定了凭据
SmtpServer.Credentials = new System.Net.NetworkCredential(_authUsername, _authPassword);
您可以删除该行,如果按照您的说法配置了SMTP中继,它仍然可以正常工作。
答案 1 :(得分:0)
在您的情况下,如果您在webconfig中输入用户名和密码,那么您需要像上面那样调用它。 但如果您使用默认邮件凭据,它将自动选择.. 如果你使用不同的邮件客户端发送者,那么你必须通过凭证..
答案 2 :(得分:0)
我有同样的情况。我得到了相同的错误代码。我注意到,我曾经使用过system.web.mail。但是我的应用程序是一个控制台应用程序。我更改了库,使用了system.net.mail。现在就可以了。