MailAddress mailFrom = new MailAddress("[email protected]");
MailAddress mailTo = new MailAddress("[email protected]");
MailMessage mail2 = new MailMessage(mailFrom, mailTo);
mail2.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
client.Port = 25;
client.Host = "xxx.xx.xx.xxx"; // smtp host ip
mail2.Subject = "Testing.";
mail2.Body = "Hello";
mail2.SubjectEncoding = System.Text.Encoding.UTF8;
mail2.BodyEncoding = System.Text.Encoding.UTF8;
client.Send(mail2);
上面是我用来通过 smtp 发送电子邮件的功能,但我意识到所有邮件都位于我的垃圾邮件文件夹(Gmail)中。有什么办法可以解决吗
IsBodyHTML
标记为 true,但您只提供文本/html。您至少需要包含带有文本的替代视图
mail2.Body =“你好”;
确保您使用的“邮件发件人”和“邮件收件人”不是同一地址或
MailMessage mail2 = new MailMessage(mailFrom, mailTo);
更新
mail2.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
client.Port = 25;
client.Host = "xxx.xx.xx.xxx"; // smtp host ip
mail2.Subject = "Testing.";
mail2.Body = "Hello";
string html = "html";
// here is example to user AlternateViews
mail2.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(html, new System.Net.Mime.ContentType("text/html"));
string Plaintext ="plain text";
mail2.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(Plaintext, new System.Net.Mime.ContentType("text/plain"));
mail2.SubjectEncoding = System.Text.Encoding.UTF8;
mail2.BodyEncoding = System.Text.Encoding.UTF8;
client.Send(mail2);
尝试此操作并恢复。
string mailServer;
int port;
string mailId, mailPass;
string subject;
string mailTo;
subject="something";
StringBuilder mailBody = new StringBuilder();
mailTo = "[email protected]";
mailServer = "smtp.gmail.com";
mailId = "[email protected]";
myString.Length = 0;
myString.Append("<html><body><div>BODY CONTENT</div></body></html>");
mailPass = "xxxxxx";
port = 587;
MailMessage mail = new MailMessage(mailId, mailTo, subject, myString.ToString());
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient(mailServer, port);
System.Net.NetworkCredential nc = new System.Net.NetworkCredential(mailId, mailPass);
smtp.UseDefaultCredentials = false;
smtp.Credentials = nc;
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Send(mail);
选择可靠的 SMTP 服务器,例如 Idealsmtp、mailjet 或 smtpget;