我想在我的Windows系統上創建一個帶有身份驗證的SMTP服務器。出於測試原因,我不想從互聯網下載另一個SMTP工具,所以我嘗試直接在代碼中發送電子郵件(僅用於調試)。我的代碼此刻:通過SmtpClient發送郵件的例外
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Mail;
namespace smttest
{
class Program
{
static void Main(string[] args)
{
SmtpClient smtpClient = new SmtpClient();
NetworkCredential basicCredential =
new NetworkCredential("username", "password");
MailMessage message = new MailMessage();
MailAddress fromAddress = new MailAddress("[email protected]");
smtpClient.Port = 26;
smtpClient.Host = "localhost";
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = basicCredential;
message.From = fromAddress;
message.Subject = "testmail";
//Set IsBodyHtml to true means you can send HTML email.
message.IsBodyHtml = true;
message.Body = "testmail from sharp";
message.To.Add(new MailAddress("[email protected]"));
try
{
smtpClient.Send(message);
}
catch(Exception ex)
{
//Error, could not send the message
Console.Write(ex.Message);
Console.ReadLine();
}
}
}
}
該cmd只顯示我:發送電子郵件時發生錯誤(德語翻譯)。我不知道如何解決這個問題。
我錯過了什麼嗎?所有代碼都與SMTP客戶端相關,而您的問題可能與您的服務器實現有關...... – 2014-10-09 16:22:48
您想創建一個SMTP *服務器*?你爲什麼要這樣做?對於已經存在於黑桃中的產品來說,這是很多*的工作。另外,您發佈的代碼不是SMTP服務器。它使用* SMTP服務器。如果您編寫該服務器,並且該服務器不發送電子郵件,則該問題將在該服務器上*。不在向其發送請求的代碼中。 – David 2014-10-09 16:24:02
它捕捉到異常嗎?如果可以的話,你可以給完整的堆棧跟蹤嗎? – Grice 2014-10-09 16:24:13