У меня есть веб-приложение, которое я установил для автоматической отправки электронной почты с помощью учетной записи gmail с помощью настроек MailHelper.cs и web.config. моя заявка работала в течение 10 дней, и теперь она дает мне ошибку и останавливается во время отправки письма. Я обрабатываю эту ошибку, это «Ошибка отправки почты». и внутрипартийное исключение «Операция с сокетом была предпринята попытке недоступного хоста 216.239.59.109:587» вот код:Проблема с электронной почтой при использовании MailHelper.cs
<mailSettings>
<smtp from="[email protected]">
<network host="smtp.gmail.com"
port="587"
userName="[email protected]"
password="mypass"/>
</smtp>
</mailSettings>
using System.Net.Mail;
public class MailHelper
{
/// <summary>
/// Sends an mail message
/// </summary>
/// <param name="from">Sender address</param>
/// <param name="to">Recepient address</param>
/// <param name="bcc">Bcc recepient</param>
/// <param name="cc">Cc recepient</param>
/// <param name="subject">Subject of mail message</param>
/// <param name="body">Body of mail message</param>
public static void SendMailMessage(string from, string to, string bcc, string cc, string subject, string body)
{
// Instantiate a new instance of MailMessage
MailMessage mMailMessage = new MailMessage();
// Set the sender address of the mail message
mMailMessage.From = new MailAddress(from);
// Set the recepient address of the mail message
mMailMessage.To.Add(new MailAddress(to));
// Check if the bcc value is null or an empty string
if ((bcc != null) && (bcc != string.Empty))
{
// Set the Bcc address of the mail message
mMailMessage.Bcc.Add(new MailAddress(bcc));
}
// Check if the cc value is null or an empty value
if ((cc != null) && (cc != string.Empty))
{
// Set the CC address of the mail message
mMailMessage.CC.Add(new MailAddress(cc));
} // Set the subject of the mail message
mMailMessage.Subject = subject;
// Set the body of the mail message
mMailMessage.Body = body;
// Set the format of the mail message body as HTML
mMailMessage.IsBodyHtml = true;
// Set the priority of the mail message to normal
mMailMessage.Priority = MailPriority.Normal;
// Instantiate a new instance of SmtpClient
SmtpClient mSmtpClient = new SmtpClient();
mSmtpClient.Host = "smtp.gmail.com";
mSmtpClient.Port = 587;
mSmtpClient.EnableSsl = true;
// Send the mail message
mSmtpClient.Send(mMailMessage);
}
}
Я возвращаюсь к этому вопросу снова и снова, когда мне нужен MailHelper для новых проектов. Вопрос, который более полезен, чем его ответ. –