Не мог послать электронные письма внешнему домену с помощью SMTP

Попробуйте если оператор...

if @value is null 
    insert into t (value) values (default)
else
    insert into t (value) values (@value)
7
задан SW4 21 May 2014 в 11:01
поделиться

2 ответа

Обычно вам необходимо пройти аутентификацию на внешнем почтовом сервере, используя имя пользователя / пароль. Поскольку вы используете внешний сервер, он не будет знать передаваемые вами учетные данные. Это может быть ваша проблема.

1
ответ дан 7 December 2019 в 07:47
поделиться

Если вы должны были найти запись MX для адреса назначения (в вашем примере это asdf.com), а затем использовать ее для свойства хоста SmtpClient, он должен принять сообщение для доставки без аутентификации, поскольку оно отправлено локальному пользователю. Это непросто сделать, поскольку System.Net не предоставляет управляемый класс DNS, который может возвращать записи MX, но для этого вы можете P / вызвать неуправляемый код. В противном случае вам нужно будет убедиться, что любой SMTP-сервер, к которому вы подключаетесь, будет ретранслировать для вас, а затем установите для свойства Credentials SmtpClient соответствующие учетные данные для подключения к этому серверу. Установка DeliveryMethod на PickupDirectoryFromIIS по-прежнему только записывает файл в каталог раскладки IIS, поэтому он только записывает файл, а не выполняет фактическую отправку.

2
ответ дан 7 December 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: