2016-03-01 2 views
1

Я написал простое консольное приложение для отправки тестового письма от Azure с помощью WebJobs, однако, когда Job говорит, что он успешно работал, письмо не приходит. Приложение работает нормально, когда выполняется локально.Отправка электронной почты в Azure Webjob с помощью Google SMTP

вот код:

static void SendMail() 
    { 

     var smtp = new SmtpClient 
     { 
      Host = "smtp.gmail.com", 
      Port = 587, 
      EnableSsl = true, 
      DeliveryMethod = SmtpDeliveryMethod.Network, 
      UseDefaultCredentials = false, 
      Credentials = new NetworkCredential("[email protected]", "*********") 
     }; 

     MailAddress to = new MailAddress("[email protected]"); 
     MailAddress from = new MailAddress("[email protected]"); 
     MailMessage mail = new MailMessage(from, to); 

     mail.Subject = "Test Email"; 

     mail.Body = 
      ("This is a test @\n"); 

     Console.WriteLine("Sending email..."); 
     smtp.Send(mail); 

     Console.WriteLine(); 
     } 
    } 

Я не уверен, как отлаживать в лазури так в убыток, чтобы выяснить, что происходит.

Может ли кто-нибудь увидеть, что я делаю неправильно.

Cheers, Kevin.

+0

Вы используете [Webjobs SDK] (https://github.com/Azure/azure-webjobs-sdk)? –

+0

Нет, просто консольное приложение. – Spionred

ответ

2

Webjobs ищет основную подпись функции как точку входа по умолчанию. Это похоже на вашу обычную консольную апликацию. Если вы поместите любые строки Console.Write, он также выйдет.

public class Program 
{ 
    public static void Main(string[] args) 
    { 
     //your code... 
    } 
} 

Перейти к вашему клинка WebApp>Все настройки и прокрутите вниз, вы должны иметь Webjobs элемент с вашей Webjob загруженным, теперь дважды щелкните по ссылке на колонке пиловочник:

enter image description here

Теперь вы можете включить Toggle Output и просмотреть выход Console вашего веб-сайта.

enter image description here

Если есть какие-либо ошибки во время выполнения, они должны быть там.

Если вы не можете получить увидеть ссылку LOGS, попробуйте открыть раздел Инструменты в WebApp (верхняя панель инструментов), прокрутка Куду и его открытия.

enter image description here

Затем перейдите в меню Инструменты>Webjobs Dashboard. Ваша работа должна быть указана там.

enter image description here

EDIT

Осмотрев ошибки сообщили, проблема в том, что среда Azure отличается от вашего компьютера. Google может блокировать использование на основе доступа из неизвестного происхождения. Проверьте свой Less secure settings и попробуйте его с помощью кнопки «Выкл.». Если это не удается, включите логин в from a different timezone. Хотя я бы советовал использовать другие услуги для отправки почты, например MailGun или SendGrid, даже Amazon SES.

+0

Привет, у моего приложения есть основные функции с вызовами функции «Отправить почту». – Spionred

+0

Извините, так как я не видел его в вашем коде, я не знал. Если вы его не поместите, он не вызывает никакого кода. Вы видите строки консоли на выходе? –

+0

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