Gmail, не получающий определенные сообщения, отображается в отправленной папке

1

Я пытаюсь отправить уведомление по электронной почте себе, когда система завершила обработку платежа. Я использую следующий код:

public Exception SendEmail(string subject, string body)
    try
    {
        var fromAddress = new MailAddress(Setting.Get("smtp_from"), Setting.Get("smtp_from_name"));
        var toAddress = new MailAddress(Setting.Get("smtp_to"), Setting.Get("smtp_to"));

        var smtp = new SmtpClient
        {
            Host = Setting.Get("smtp_host"),
            Port = Int32.Parse(Setting.Get("smtp_port")),
            EnableSsl = true,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            Credentials = new NetworkCredential(fromAddress.Address, Setting.Get("smtp_password")),
            Timeout = Int32.Parse(Setting.Get("smtp_timeout"))
        };
        using (var message = new MailMessage(fromAddress, toAddress)
        {
            Subject = subject,
            Body = body
        })
        {
            smtp.Send(message);
        }

        return null; //All went well
    }
    catch (Exception ex)
    {
        return ex;
    }
}

Ничего особенного, просто базовый код, найденный в Google. Этот код работает безупречно со следующим сообщением и темой:

Subject: [SUCCESS] Donation processed successfully
Message: This is a test.

Но, когда сообщение изменится на это:

Donation received and processed successfully! No further action is required.
Donor: John Doe
Donation amount: 4,00 EUR
Email: [email protected]
Mandrill API Response: Sent

В моем почтовом ящике ничего не отображается. Он отображается в отправленных элементах учетной записи, отправляющей электронное письмо. Я проверил все, спам, трэш, но он просто не приходит.

Кто-нибудь сталкивался с этим раньше? Кто-нибудь знает, как решить эту проблему?

Теги:
email
gmail
mandrill

2 ответа

0
Лучший ответ

Хорошо, я нашел проблему.

Посмотри на это:

using (var message = new MailMessage(fromAddress, toAddress)
{
    Subject = subject,
    Body = body
})
{
    smtp.Send(message);
}

Оператор using удаляет MailMessage до того, как вызывается метод.Send(message), и по какой-то причине это не вызывает исключения. facepalms

0

Это отлично работает для меня:

 public static void SendEmail(string emailbody)
    {
      MailMessage mailMessage = new MailMessage("incoming email address", "receiver email address");
      mailMessage.Body = emailbody;
      mailMessage.Subject = "Feedback";

      SmtpClient smtpClient = new SmtpClient("relay-hosting.secureserver.net", 25);
      smtpClient.EnableSsl = false;
      smtpClient.Send(mailMessage);
    }

Надеюсь это поможет

  • 0
    Вы пробовали предоставленный мною контент, который мне не помог?
  • 0
    Содержимое может быть добавлено отдельно в emailbody. Например, string Contents = "Donation received and processed successfully! No further action is required. Donor: John Doe Donation amount: 4,00 EUR Email: [email protected] Mandrill API Response: Sent"; А затем: SendEmail(Contents);
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню