因此,我編寫了一個簡單的C#WinForms應用程序,它只有一個按鈕控件,我將在每個月的第25天點擊以通知我的用戶支付其域訂閱。我會把它變成一個windows服務,這樣它就可以在我有空的時候自動運行。向電子郵件追加行間隔
我從@Tartori在此SO帖子中獲得了我的實現:Sending emails from a windows forms application,它按照我想要的方式工作。
一切都很好,但現在的問題是,當我發送測試郵件到一個電子郵件地址,我有相同的帳戶設置的Outlook是honkey dory,但現在當我通過網絡使用Gmail查看相同的測試郵件它不換行追加按照下面兩張截圖:
請告知我怎樣才能克服這一點。我的代碼如下:
private void btnSendMail_Click(object sender, EventArgs e)
{
MailAddress from = new MailAddress("[email protected]", "Name Surname");
List<MailAddress> cc = new List<MailAddress>();
cc.Add(new MailAddress("[email protected]", "Name2 Surname2"));
string subjectText = "Friendly Domain Payment Reminder: " + DateTime.Now.ToShortDateString();
SendEmail(subjectText, from, cc);
}
protected void SendEmail(string _subject, MailAddress _from, List<MailAddress> _cc, List<MailAddress> _bcc = null)
{
string Text = "";
SmtpClient mailClient = new SmtpClient("mail.backlinkdesigns.co.za");
MailMessage msgMail;
Text = "Good day" + "</br>" + "</br>" + "I hope this message finds you well." msgMail = new MailMessage();
msgMail.From = _from;
MailAddress outlook= new MailAddress("[email protected]", "User Surbname");
MailAddress gmailAccount = new MailAddress("[email protected]", "Name Surname");
msgMail.To.Add(outlook);
msgMail.To.Add(gmailAccount);
foreach (MailAddress addr in _cc)
{
msgMail.CC.Add(addr);
}
if (_bcc != null)
{
foreach (MailAddress addr in _bcc)
{
msgMail.Bcc.Add(addr);
}
}
msgMail.Subject = _subject;
msgMail.Body = Text;
msgMail.IsBodyHtml = true;
mailClient.Send(msgMail);
msgMail.Dispose();
List<MailAddress> countVar = new List<MailAddress>();
countVar.Add(outlook);
countVar.Add(gmailAccount);
var temp = countVar.Count;
MessageBox.Show("Your email has been successfully sent to " + temp + " users show below: " + "\n\n" + outlook+ "\n" + gmailAccount + "\n" + "\n\n" + "From: " + _from, "Message Status", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
}
UPDATE: 附在下面是HTML展臺時,我使用</br>
證明我收到的代碼換行符。他們在Outlook應用程序中顯示正常,但在網絡上顯示不正確。請在發佈解決方案之前嘗試複製粘貼代碼示例,因爲Environment.NewLine不會執行此操作。
它已經設置爲true,你可以在我的代碼片段中看到。 –
你可以試試這個 string html =「The message」; AlternateView htmlView = AlternateView.CreateAlternateViewFromString(html,new ContentType(「text/html」)); msgMail.AlternateViews.Add(htmlView); – Sondre
您是否可以格式化您的評論,或者更新您的解決方案,因爲我很難弄清楚您應該考慮哪些部分的評論。 –