Possible Duplicate:
GMail SMTP via C# .Net errors on all portsGửi email qua GMail trong .NET
Tôi nhận được lỗi sau khi tôi cố gắng gửi email trong chương trình C# của mình. Tôi đang sử dụng Visual Studio 2008 trên windows 7. Tôi sẽ dán mã của tôi đầu tiên và sau đó là lỗi:
class email_log_files
{
private string login_username = "my_gmail_id";
private string login_password = "my_gmail_password";
public void send_email()
{
string src_address = "[email protected]";
string dest_address = "[email protected]";
try
{
MailMessage email_msg = new MailMessage();
SmtpClient email_client = new SmtpClient();
email_msg.From = new MailAddress(src_address);
email_msg.Sender = new MailAddress(src_address);
email_msg.ReplyTo = new MailAddress(src_address);
email_msg.To.Add(dest_address);
email_msg.Subject = "Test";
email_msg.Body = "Body of the message";
NetworkCredential credentials = new NetworkCredential(login_username, login_password);
email_client.Credentials = credentials;
email_client.Host = "smtp.gmail.com";
email_client.Port = 465;
email_client.EnableSsl = true;
email_client.Send(email_msg);
Console.WriteLine("Message Sent Successfully!!");
Console.ReadLine();
}
}
}
Và được thông báo lỗi như sau:
The operation has timed out.
Tại sao nó luôn thời gian ra ngoài? Tôi chắc chắn rằng tôi có địa chỉ máy chủ smtp chính xác và số cổng cho gmail vì tôi đã định cấu hình triển vọng của mình với cùng một cách. Bất kỳ trợ giúp hoặc ý tưởng?
Sau khi thay đổi cổng thành 587, lỗi như sau. Tôi chỉ vô hiệu hóa tường lửa của tôi để xem đó có phải là vấn đề không và nó KHÔNG. Các lỗi mới (đối với cổng 587):
Thats lỗi cho tôi khi tôi thay đổi cổng để 587:
Failure sending 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.113.109:587
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddre
ss socketAddress)
at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Sock
et 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 ow
ner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket
6, 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, GeneralAsyncD
elegate 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)
System
System.Collections.ListDictionaryInternal
Cảm ơn, VP
Không có điều nào như C# .NET. C# là ngôn ngữ lập trình, .NET là nền tảng. –
Cảm ơn bạn. Bạn có thời gian để tập trung vào câu hỏi thực sự của tôi ở đây không? – zack
Tôi nghĩ Scott đúng, gmail dường như phản hồi cổng 25 và 587. –