2010-04-28 5 views
2

У меня есть кусок кода, который отправляет электронную почту .. Херес кодотправить по электронной почте C# с помощью SMTP-сервер с именем пользователя паролем аутентификацией

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

Но когда я пытаюсь сделать это с помощью кода .. он терпит неудачу с сообщением ...

{System.Net.Mail.SmtpException: Сервер SMTP требует защищенного соединения или клиент не был проверку подлинности. Ответ сервера: 5.7.0 Команда AUTH не указана.

Может кто-нибудь посоветовать ... а также они не имеют EWS подвергаются ie.e обмен веб-сервис ./ .. это путь ..

порт не 25 и не SSL или TLS

Button b = sender as Button; 
try 
{ 
    MailMessage msg = new MailMessage(senderEmail, recieverEmail, "afdasfas", "safasfa"); 
    //MailMessage msg = new MailMessage(senderEmail, recieverEmail, subject, subject); 
    System.Net.Mail.SmtpClient mailclient = new System.Net.Mail.SmtpClient(EmailSmtpServer, outgoingPort); 
    System.Net.NetworkCredential auth = new System.Net.NetworkCredential(senderEmail, senderPassword); 
    mailclient.Host = EmailSmtpServer; 
    mailclient.UseDefaultCredentials = false; 
    mailclient.Credentials = auth; 
    mailclient.Send(msg); 
    MessageBox.Show(b.Content + ":WORKED"); 
} 
catch (Exception e4) 
{ 
    MessageBox.Show(b.Content + ": " +e4.Message); 
    MessageBox.Show(b.Content + ": " + e4.StackTrace); 
} 
+0

Можете ли вы поместить свой код в кодовый блок? облегчает чтение. – jaltiere

ответ

4

Я не думаю, что вы хотите установить

mailclient.UseDefaultCredentials = true; 

подробнее об этом варианте here.


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

Попробуйте подключиться через telnet и авторизировать. Есть также множество услуг, которые позволят вам отправить тестовое сообщение онлайн (например, http://pingability.com/smtptest.jsp).

+0

Нет .. я извиняюсь РВП опечатки .. я пробовал все варианты .. я буду редактировать этот пост ... я получаю это исключение, когда пытаюсь запустить код {System.Net.Mail. SmtpException: для SMTP-сервера требуется безопасное соединение, или клиент не прошел аутентификацию. Ответ сервера: 5.7.0 Команда AUTH не указана. на System.Net.Mail.MailCommand.CheckResponse (SmtpStatusCode statusCode, строковый ответ) – pskk

+0

@KK, см. Мое редактирование. – Joel

+0

Я могу использовать telnet для этой удаленной службы smtp ... когда я использую auth login, а затем предоставляю имя пользователя и пароль в формате base64, я могу войти ... так что я думаю, проблема с кодом C# ... и sendMail не отправляет «auth login» или не отправляет имя пользователя/пароль в base64 ... вы думаете, что можете указать мне на блог/сайт, который исправил это ... Я попробовал кучу из них, и он не работал для меня ... Спасибо. – pskk

0

может быть, вам нужно добавить mailclient.EnableSsl = true;

+0

Нет .. я сожалею, что опечатал .. я пытался все варианты .. я отредактировал сообщение ... i получить это исключение, когда я пытаюсь запустить код {System.Net.Mail.SmtpException: для SMTP-сервера требуется защищенное соединение или клиент не прошел аутентификацию. Ответ сервера: 5.7.0 Команда AUTH не указана. at System.Net.Mail.MailCommand.CheckResponse (SmtpStatusCode statusCode, String response) – pskk

+0

удаленная служба smtp не нуждается в smtp enabled – pskk

+0

Я могу использовать telnet для этой удаленной службы smtp ... когда я использую auth login, а затем предоставляю имя пользователя и пароль в формате base64, я могу войти ... так что я думаю, проблема с кодом C# ... и sendMail не отправляет команду «auth login» или не отправляет имя пользователя/пароль в base64 ... вы думаете, что можете назовите меня в блог/сайт, который исправил это ... Я попробовал кучу их, и это не помогло мне ... спасибо. – pskk

1

System.Net.Mail.SmtpException: Сервер SMTP требует защищенного соединения или клиент не прошел проверку подлинности. Ответ сервера: 5.7.0 Команда AUTH не указана.

Вы пытаетесь войти в систему без отправки команды AUTH. вот почему ваш веб-gui, который автоматически вставляет свои собственные команды AUTH, работает, но ваше текущее клиентское приложение не получает от вас команду для ретрансляции на сервер, но для сервера требуется аутентификация.

 Смежные вопросы

  • Нет связанных вопросов^_^