2013-02-13 5 views
3
string from = "[email protected]"; 
string to = "[email protected]"; 

System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(); 
mail.To.Add(to); 
mail.From = new System.Net.Mail.MailAddress(from, "One Ghost", System.Text.Encoding.UTF8); 
mail.Subject = "This is a test mail"; 
mail.SubjectEncoding = System.Text.Encoding.UTF8; 
mail.Body = "This is Email Body Text"; 
mail.BodyEncoding = System.Text.Encoding.UTF8; 
mail.IsBodyHtml = true; 
mail.Priority = System.Net.Mail.MailPriority.High; 
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(); 

client.Credentials = new System.Net.NetworkCredential(from, "XXXXX"); 
client.Port = 587; 
client.Host = "smtp.gmail.com"; 
client.EnableSsl = true; 
try 
{ 
    client.Send(mail); 
} 
catch (Exception ex) 
{ 
    Exception ex2 = ex; 
    string errorMessage = string.Empty; 

    HttpContext.Current.Response.Write("errroorr " + ex.Message.ToString()); 
} 

Отбрасывание исключения по методу client.send(). Это говорит отправка сообщения failed.What может быть проблема внутреннее исключение этоНе удалось отправить E-mail

внутреннее исключение говорит System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 74.125.141.109:587 at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception) --- End of inner exception stack trace --- at System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket6, Int32 timeout) at System.Net.PooledStream.Activate(Object owningObject, Boolean async, Int32 timeout, GeneralAsyncDelegate asyncCallback) at System.Net.PooledStream.Activate(Object owningObject, GeneralAsyncDelegate asyncCallback) at System.Net.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncDelegate asyncCallback, Int32 creationTimeout) at System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port) at System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port) at System.Net.Mail.SmtpClient.GetConnection() at System.Net.Mail.SmtpClient.Send(MailMessage message)

+0

set ssl to false и попробуйте отправить. –

+1

Есть ли внутреннее исключение? –

+2

Можете ли вы опубликовать сообщение об ошибке * full * (то есть вывод 'ex.ToString()'). –

ответ

0

Попытка добавить эти два параметра

client.DeliveryMethod = SmtpDeliveryMethod.Network; 
client.UseDefaultCredentials = false; 

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

0

вы можете использовать как это ниже

public static void SendMail(string Message, string Subject) 
    { 
     bool retVal; 
     SmtpClient smtpClient = new SmtpClient(); 
     MailMessage message = new MailMessage(); 

     MailAddress fromAddres = new MailAddress(FromMail, "Test"); 
     message.From = fromAddres; 
     // To address collection of MailAddress 
     message.To.Add(ToMail); 
     message.Subject = Subject; 
     smtpClient.Host = HotName; 
     smtpClient.UseDefaultCredentials = true; 
     smtpClient.Credentials = new System.Net.NetworkCredential(SmtpUser, SmtpPassword); 
     message.IsBodyHtml = true; 
     // Message body content 
     message.Body = Message;  

     smtpClient.Send(message); 

     retVal = true; 
     message.Dispose(); 
    } 

я думаю, что это поможет вам ........

0

К сожалению для размещения его в качестве ответа, я предназначил б ответ на исходное сообщение.

SMTP потребует учетных данных, я не нашел учетные данные. Попробуйте telnet для подключения к серверу. Если порт доступен и если у вас есть учетные данные SMTP, вы сможете отправить электронное письмо из самой командной строки.

Попробуйте это и сообщите мне, работает ли это для вас или нет.

+0

как это сделать? – shiba

+0

Привет, [попробуйте это] (http://www.yuki-onna.co.uk/email/smtp.html) или [msdn link] (http://technet.microsoft.com/en-us/library/ aa995718 (v = exchangeg.65) .aspx) или [google search] (http://www.google.co.in/search?q=smtp+telnet&oq=smtp+telnet&sugexp=chrome,mod=5&sourceid=chrome&ie=UTF -8) –

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