2012-09-24 83 views
2

是否可以通过.net应用程序从使用smtp-relay的服务器发送电子邮件。SMTP中继 - 从控制台应用程序发送电子邮件

我正在使用app.config来获取实际值,例如服务器IP以及电子邮件应该使用的fddress。

根据IT技术人员的说法,不应该需要授权的用户名和密码,因为它使用smtp-relay。要发送电子邮件的计算机位于有效计算机的smtp-servers列表中。

这实际上可以工作,我不需要指定用户名/密码?

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()); 
} 
+4

你试过吗? – Lloyd

+1

要扩展@劳埃德的观点,您应该尝试一下。如果失败,请返回并询问有关特定故障的问题。 – Fenton

+1

有时候,在这里问这些事情要比尝试这些要容易得多。你通常会发现更快:) – Lloyd

回答

1

在你的代码片段您指定的凭据

SmtpServer.Credentials = new System.Net.NetworkCredential(_authUsername, _authPassword); 

您可以删除线,它仍然会工作,如果像你说的SMTP中继配置。

0

在你的情况下,如果你在webconfig中输入你的用户名和密码,那么你需要像上面那样调用它。 但如果您使用您的默认邮件凭据,那么它会自动选择.. ,如果您使用diiferent邮件客户端发件人,那么你必须通过凭据..