2012-08-03 296 views
0

我正在通過asp.net中的C#使用IIS7發送電子郵件。 但我無法修復這個錯誤。無法通過本地SMTP服務器發送電子郵件

我甚至不能將消息發送到該路徑

C:\的Inetpub \ mailroot \隊列

這是我已經使用

MailMessage m = new MailMessage(); 
    m.From = TextBox1.Text; 
    m.To = TextBox2.Text; 
    m.Subject = TextBox3.Text; 
    m.Body = TextBox4.Text; 
    SmtpMail.SmtpServer = "localhost"; //your real server goes here 
    SmtpMail.Send(m); 

音符最簡單的代碼:我手動創建這條路,沒有錯?或應該自動創建?

請幫助!

+1

你有你的本地主機上的smtp服務器 – 2012-08-03 03:20:04

+1

你顯示的代碼根本沒有使用任何路徑。 SMTP是一種網絡協議;您的代碼嘗試連接到'localhost'上的TCP端口25。 (基本上,@COLD TOLD說了什麼。) – tripleee 2012-08-03 04:37:15

回答

0

如果您手動創建了路徑,則SMTP服務未安裝在您的計算機上(假設您打算使用此服務器而不是第三方SMTP服務器)。

你可以通過查看服務列表(我相信它從簡單郵件傳輸開始...)來驗證這一點。

+0

那我該怎麼辦? SMTP虛擬服務器在Windows功能上不可用。 我已經下載了第三方SMTP http://www.softstack.com/freesmtp.html 下一步要做什麼? – 2012-08-03 04:01:39

+0

嘗試將「localhost」更改爲ISP的郵件服務器。如果你能夠實現這個目標,你可以考慮是否真的需要或想要在本地運行你自己的SMTP服務器。 (我敢打賭你不會。) – tripleee 2012-08-03 04:39:01

0

也許這是缺少的SmtpCredentials?正如前面的講者所說的那樣,SmtpServer真的是本地主機,這意味着你的機器上有一個smtpserver?

我已經完成了一個SMTP郵件發送來自我的程序正在工作的som電子郵件,也許你可以找到一些可以幫助你嗎?

看起來像這樣。

public class Email 
{ 
    public Email(string recieverAdress) 
    { 
     mail = new MailMessage(senderAdress, recieverAdress); 
    } 

    private readonly MailMessage mail; 
    private readonly SmtpClient smtpClient = new SmtpClient("smtp.domain.com", port); 
    private readonly NetworkCredential credential = new NetworkCredential("username", "password"); 

    public void SendMail(string subject, string textInBody) 
    { 
     mail.Subject = DateTime.Now + " " + subject; 
     mail.Body = textInBody; 
     smtpClient.Credentials = credential; 
     smtpClient.Send(mail); 
    } 
} 
相關問題