Отправить почту без предоставления NetworkCredentials в C # - PullRequest
0 голосов
/ 26 апреля 2011

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

Ответы [ 3 ]

2 голосов
/ 26 апреля 2011

Вам почти наверняка понадобится указать учетные данные где-нибудь, если вы не находитесь в доверенной сети. Однако вы можете настроить имя пользователя и пароль в файле web.config, если не хотите создавать объект NetworkCredentials в коде.

<system.net>
 <mailSettings>
  <smtp>
   <network 
         host="smtp.example.com" 
         port="portNumber"
         userName="username"
         password="password" />
  </smtp>
 </mailSettings>
</system.net>
1 голос
/ 26 апреля 2011

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

0 голосов
/ 26 апреля 2011

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

Вы можете отправлять электронную почту на любой адрес, найдя его почтовый сервер (используя запись домена MX из DNS) и отправив напрямую через SMTP. Обычно это делается почтовыми серверами. Вы можете настроить свой собственный почтовый сервер, который позволяет пересылать сообщения с вашего IP-адреса (адреса, используемого вашим приложением), и вы можете отправлять электронную почту на любой почтовый ящик.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...