2017-02-10 7 views
0

У меня есть веб-задание, которое пытается отправить электронное письмо, когда оно что-то читает из поля зрения Azure q.Веб-задание бросает исключение Smtp на веб-сайте Azure

public static void ProcessPoisonNotification(
     [QueueTrigger("parkingticketnotification-poison")] ParkingTicketNotificationBO notificationBo, 
     TextWriter log) 
    { 
     var message = "xxx xxx xxx xxx xxx => POISON message: " + notificationBo.Dump(); 
     Console.WriteLine(message); 
     log?.WriteLine(message); 
     PoisonEmailNotifier.SendFailureMessage(notificationBo); 
    } 

В уведомлении по электронной почте используется код из основного веб-приложения, которое может отправлять электронные письма. но веб-задание выдает следующее исключение. Это потому, что веб-приложение блокирует порт 25?

enter image description here

ответ

1

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

Основываясь на моем опыте, поскольку веб-приложение и WebJob находятся в одной и той же среде, если он работает в веб-приложении, он также должен работать в Azure WebJob.

Если WebJob работает локально, попробуйте удаленную отладку WebJob. Подробнее о том, как удаленно отлаживать веб-сайт, см. На странице tutorials.

Примечание: Перейдите на вкладку Настройки и изменение конфигурации в Debug, прежде чем он будет опубликован.

Кроме того, мы также можем использовать Azure SendGrid, чтобы отправить электронное письмо легко.

+0

Спасибо Том, я сегодня поиграю с ним. Мы уже используем Sendgrid в приложении. – InitLipton

0

Это выглядит как Windows Socket код ошибки 10013. Вы можете узнать больше об этом here.

У Microsoft есть два предложения - у вас, вероятно, либо недостаточно полномочий, либо другая служба привязана к целевому порту. Если вы знаете, что трафик на порте 25 не открыт на вашем хосте, кажется, что это причина. Однако вместо этого вы можете использовать другую услугу, которая прослушивает этот порт.