2013-03-28 6 views
-2

Я пытаюсь создать раздел по электронной почте, и я нашел статью и один из ответов на этом форуме, который я использовал в моих кодах ниже, но по-прежнему сказал, что отказ от отправки почты, который я едва ли мог понять, почему ?. Мне нужна помощь в поиске исправления, почему мои коды ниже не могут отправить электронное письмо. Здесь мои коды ниже для вашей справки. Пожалуйста, посоветуйте ... Спасибо.Ошибка отправки почты

protected void Button1_Click(object sender, EventArgs e) 
{ 

SmtpClient client = new SmtpClient(); 

     client.Host = "smtp.live.com"; //Im not sure about this,I just copy it from the article 
     client.Port = 4548; //This is my ASP.Net Development Server Port,Im not sure also if this is correct. 

     client.Credentials = new System.Net.NetworkCredential(
      @"email_account", 
      @"email_password"); //Im not sure about this code if this correct, I just copy it 


     client.EnableSsl = true; 

     // create message 
     MailMessage message = new MailMessage(); 
     message.From = new MailAddress(TextBox4.Text, "Mackmellow"); //Textbox4 is my email address 
     message.To.Add(new MailAddress(TextBox1.Text, "Mackmellow")); // Textbox1 is the email add I want to send 
     message.Subject = TextBox2.Text; //Textbox2 is my subject 
     message.Body = TextBox3.Text; // Textbox3 is my message 
     message.BodyEncoding = System.Text.Encoding.UTF8; 
     message.IsBodyHtml = true; 

     message.SubjectEncoding = System.Text.Encoding.UTF8; 


     // send message 
     try 
     { 
      client.Send(message); 


     } 
     catch (SmtpException ex) 
     { 

      Response.Write(ex.Message); 
     } 
     finally 
     { 
      // Clean up. 
      message.Dispose(); 
     } 

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

+2

Что такое фактическое сообщение об ошибке (и/или внутреннее исключение) вы получаете? «Отказ отправки почты» является общим, как сказать автомеханику «Автомобиль не будет работать». Более подробная информация всегда хорошая вещь :) – Tim

+0

Есть ли ошибка с отказом? –

+0

вы должны убедиться, что ваш адрес электронной почты (from_email) принадлежит провайдеру электронной почты (в вашем случае «smtp.live.com»), иначе он потерпит неудачу, также ваш порт неверен, он должен быть любым, что live.com принимает smtp on – Alex

ответ

2

Для отправки почты вы не можете использовать свой порт сервера разработки.

Вы должны использовать порт сервера smtp вашего почтового сервера.

для smtp.live.com вы должны использовать либо порт 25 или 587

Для этого ниже код, указать все необходимые данные для входа (электронная почта/пароль)

client.Credentials = new System.Net.NetworkCredential(
      @"email_account", 
      @"email_password"); 
+0

Я попытался использовать оба порта 25 и 587 соответственно, но он все еще отображает сообщение об ошибке «Почтовый ящик недоступен. Ответ сервера: 5.7.3 Запрошенное действие отменено; пользователь не аутентифицирован ' – timmack

+0

Вы должны указать правильную комбинацию имени пользователя и пароля в сетевых учетных данных ... изменить скопированные значения :) – scartag

+0

Является ли это мой адрес электронной почты или адрес электронной почты, который я хочу отправить? – timmack

-2

Попробуйте это.

SmtpClient SmtpServer = new SmtpClient("smtp.live.com"); 
    var mail = new MailMessage(); 
    mail.From = new MailAddress("[email protected]"); 
    mail.To.Add("ToGmail.com"); 
    mail.Subject = "Your Sub"; 
    mail.IsBodyHtml = true; 
    string htmlBody; 
    htmlBody = "HTML code"; 
    mail.Body = htmlBody; 
    SmtpServer.Port = 587; 
    SmtpServer.UseDefaultCredentials = false; 
    SmtpServer.Credentials = new System.Net.NetworkCredential("[email protected]", "YourPassword"); 
    SmtpServer.EnableSsl = true; 
    SmtpServer.Send(mail); 
+0

Спасибо, я попытался использовать ваш код, но все же дает мне исключение во время выполнения. Это сообщение об ошибке: Ошибка сервера в приложении «/ WebSite1». Почтовый ящик недоступен. Ответ сервера: 5.7.3 Запрошенное действие отменено; пользователь не аутентифицирован Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде. Сведения об исключении: System.Net.Mail.SmtpException: Почтовый ящик недоступен. Ответ сервера: 5.7.3 Запрошенное действие отменено; пользователь не аутентифицирован – timmack

0

Обеспечить только G-Mail Account Id Затем проверьте это. Я думаю, SmtpClient Не принимает ни одного другого почтового адреса домена. Таким образом, вы можете разместить только адрес gmail и проверить его.

Редактировать

См. Этот образец и другие ответы.

Error sending mail from Asp.Net/C#

how to send email in asp.net to any destination eg yahoo,gmail,hotmail etc c# code

+1

Да, Ramesh. Фактически, в разделе From я использовал свой адрес электронной почты, который является @ gmail.com, и я также проверил правильный пароль в моем коде, но все же выдавал ту же ошибку. – timmack

+0

, но адрес, который я отправляю, является @ yahoo.com – timmack

+0

Hai Проверьте этот образец http://stackoverflow.com/questions/6659210/unable-to-send-email-to-other-domains-using-system-net -mail-smtpclient –

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