Sunil Tarwara Ответов: 5

Сбой отправки почты. ошибка в asp .net


Привет,
Я использовал gmail для отправки почты локально, которая работала нормально, но когда я загрузил тот же файл на сервер, произошла ошибка "Failure sending mail".
Вот код, который я написал:
Dim message As New MailMessage
message.From = New MailAddress("xxx@gmail.com")
message.To.Add(New MailAddress("xxx@yahoo.com"))
message.Subject = test mail""
message.Body = "Hi you have got a test mail from me!"
Dim client As New SmtpClient
client.Credentials = New System.Net.NetworkCredential("xxx@gmail.com", "xxxxxxx")
client.Port = 587
client.Host = "smtp.gmail.com"
client.EnableSsl = True
client.Send(message)


Пожалуйста, помогите мне!

senguptaamlan

пройдите через трассировку стека ошибки и если возможно разместите то же самое здесь

Sandesh M Patil

Пожалуйста, напишите свой код в блоке кода

5 Ответов

Рейтинг:
31

Sandeep Mewara

Это может быть по разным причинам. Вы должны смотреть на них один за другим.

Порт открыт? Разрешения брандмауэра на месте?
Далее убедитесь, что вы настроили конфигурацию SMTP в Web.Config:

<system.net>
   <mailSettings>
     <smtp from="abc@somedomain.com">
       <network host="somesmtpserver" port="25" userName="name" password="pass" defaultCredentials="true" />
     </smtp>
   </mailSettings>
</system.net>

Если это необходимо, взгляните на этот видеоурок Microsoft:
Использование ASP.NET чтобы отправить электронное письмо с веб-сайта[^]

Если нужно, то на этом самом сайте есть много статей о том, как отправлять электронные письма


[no name]

Не могу ли я добавить конфигурацию SMTP на странице кодирования вместо Web. Configuration, как я сделал, например, from, host, port, имя пользователя, пароль?

Sandeep Mewara

Нет, не можешь. Это настройка на основе сайта для отправки электронных писем. Я не вижу проблемы, почему вы не хотите делать это в конфигурации. На самом деле это было бы легко поддерживать и искать.

[no name]

Ладно брат я сильно запутался теперь я поставил код в конфиг:
&ЛТ;система.чистый&ГТ;
<mailsettings>
&ЛТ;SMTP из="xxx@gmail.com"&ГТ;
< network defaultcredentials= "true" host="smtp.gmail.com"
= ""порт=" 587 " имя пользователя="xxx@gmail.com" пароль= "xxx">




а это код для нажатия кнопки на которую будет отправлена почта:
Тусклое сообщение как новое почтовое сообщение
сообщение.From = новый почтовый адрес("xxx@gmail.com")
сообщение.To. Add(новый почтовый адрес("xxx@yahoo.com"))
сообщение.Тема = "тестовое сообщение"
сообщение.Body = " Привет, у тебя есть почта"
Dim клиент как новый SmtpClient
клиент.Учетные Данные = Новый Система.Нет.А networkcredential("xxx@gmail.com", "ХХХ")
клиент.Порт = 587
клиент.Хост = "smtp.gmail.com"
клиент.EnableSsl = True
клиент.Отправить сообщение)
Он работает на локальном хосте, но не на сервере! А теперь, пожалуйста, скажите мне, что и где редактировать?

[no name]

Я получил Сол, только что сменивший номер порта. Спасибо вам всем особенно Сандип братан

Рейтинг:
2

Sandesh M Patil

Ваши сетевые учетные данные неверны


Sandeep Mewara

Только не говорите мне, что вы действительно ожидали, что он предоставит здесь верительные грамоты. :)

Есть какая-то конкретная причина, по которой вы указали только сетевые учетные данные?

Sandesh M Patil

Ладно, тогда я ошибся, до сегодняшнего дня я не видел таких сетевых крендентиалов

Рейтинг:
1

Christian Graus

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


Рейтинг:
0

Member 10841969

NetworkCredential ncrd = новый NetworkCredential();
нкрд.Имя пользователя = fromemail;
нкрд.Пароль = frompwd;
SmtpClient MailClient = новый SmtpClient();
Почты клиент.Хост = "smtp.gmail.com";
Почты клиент.Порт = 587;
Почты клиент.UseDefaultCredentials = true;
Почты клиент.Учетные данные = ncrd;
Почты клиент.EnableSsl = true;
Почты клиент.DeliveryMethod = SmtpDeliveryMethod.Сеть;
Почты клиент.Послать(сообщение);


Рейтинг:
0

Member 12036356

если вы работаете локально это прекрасно работает

bt во время on line

ваш сервер нравится. бесплатный хостинг сайтов : somee.com

не могу дать разрешение на доступ к gmail или smtp серверу это означает что он блокирует сервер для получения доступа