2012-09-24 33 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郵件客戶端發件人,那麼你必須通過憑據..

相關問題