在C#中,我有一種通過gmail帳戶發送電子郵件的方法。 當我在Microsoft Outlook中打開電子郵件時,發件人地址顯示爲gmail地址,而不是我在標題中使用的strFromAddress。從顯示Gmail地址的地址發送郵件smtp gmail
SmtpClient smtp = new SmtpClient();
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = true;
smtp.EnableSsl = true;
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.Credentials = new NetworkCredential("***@gmail.com", "*****");
var strFromAddress = "[email protected]";
var strToAddress = "[email protected]";
var strSubject = "Album: '" + lbltitel.Text + "' bestelling";
var strBody = "<html><head>";
// new instance of MailMessage
MailMessage mailMessage = new MailMessage();
// Sender Address
mailMessage.From = new MailAddress(strFromAddress);
// mailMessage.Headers("Selexion Clix Demuynck <[email protected]>");
// mailMessage.Bcc.Add(new MailAddress("[email protected]"));
// Recepient Address
mailMessage.To.Add(new MailAddress(strToAddress));
mailMessage.Headers.Add("Reply-To", "[email protected]");
// Subject
mailMessage.Subject = strSubject;
// Body
mailMessage.Body = strBody;
// format of mail message
mailMessage.IsBodyHtml = true;
// new instance of Smtpclient
smtp.Send(mailMessage);
AFAIK此郵件無法發送。您正在要求gmail SMTP服務將郵件從不屬於Gmail的地址發送到外部地址。如果我是對的,這是世界上每個SMTP服務器都不允許的(垃圾郵件服務器除外) – Steve 2013-03-19 14:28:59
注意:'SmtpClient'是'IDisposable',應該這樣使用:'使用(var smtp = new SmtpClient()){。 ..}' – 2013-03-19 14:29:57
可不可以。儘管在使用語句中包裝一次性對象通常被認爲是很好的做法,但事實並非總是如此。有時你需要明確地控制對象的處理方式和時間。 - 雖然我同意在這種情況下使用陳述是明智的:-) – Mintey 2013-03-19 14:35:17