При попытке отправить электронное письмо с помощью консольного приложения Visual Basic я получаю сообщение об ошибке: «Время операции истекло». Я отправляю с Windows 7 ПК. Можно ли это сделать?
Я обнаружил много сообщений, в которых говорится, что это не удается, потому что * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5. Однако я скачал smpt4dev и получил те же результаты, когда пытался подключиться к нему через "localhost".
Но я могу подключиться к серверу с одного компьютера и не получить ошибок. Я также могу отправить электронное письмо, используя следующие команды telnet:
telnet SMTP.domain.xyz 25
helo SMTP.domain.xyz
mail from: f@domain.com
rcpt to: t@domain.com
data
subject: test email
.
quit
Я пробовал это на нескольких разных серверах smtp и получал одинаковые результаты. Я знаю, что имя моего сервера, порт, имя пользователя и pw указаны правильно.
Imports System.Net.Mail
Try
Dim SMTPClientObj As New Net.Mail.SmtpClient
SMTPClientObj.UseDefaultCredentials = False
SMTPClientObj.Credentials = New System.Net.NetworkCredential(username, password)
SMTPClientObj.Host = "mysmtpserver"
SMTPClientObj.Port = 25
SMTPClientObj.EnableSsl = False
Dim e_mail As New MailMessage()
e_mail.From = New MailAddress("test@test.com")
e_mail.To.Add("test2@test.com")
e_mail.Subject = "Email Sending Test"
e_mail.IsBodyHtml = False
e_mail.Body = "Test email from VB"
SMTPClientObj.Send(e_mail)
Dim x As New Mail.SmtpStatusCode
Console.WriteLine("SmtpStatusCode: " & CStr(x))
Console.WriteLine("Mail Sent.")
Catch ex As Exception
Dim x As New Mail.SmtpStatusCode
Console.WriteLine("SmtpStatusCode: " & CStr(x))
MsgBox(ex.Message)
MsgBox(ex.ToString)
MsgBox(ex.InnerException)
End Try
На данный момент я просто хотел бы получить больше подробностей об ошибке вместо простого сообщения о превышении времени ожидания. Но я никогда раньше не использовал SmtpStatusCode и не уверен, как его использовать.
Приглашение ex.InnerException всегда пустое.
Можете ли вы дать мне какие-либо советы о том, как получить более подробную информацию об ошибке? Или что мне нужно сделать, чтобы это работало на моем компьютере с Windows 7?
Спасибо