我有一个程序,我已经设置了一个家庭自动化应用程序。我的目标是在发生严重错误时将其发送给我,但我遇到了smtp部分的问题。我能够使用我公司的SMTP工作,使我的应用程序工作得很好(基本上,我想在尝试转向免费选项之前先开始一个工作的,封闭的系统,因为那些限制性更强,具有讽刺意味)。是否仍可以使用SMTP发送电子邮件/文本?
我已经在网上运行了很多很多的例子,它似乎是SMTP阻塞某些方法/端口的问题。我已经尝试了下面的代码与端口25,465和587(在线使用的公共端口)。我也尝试将EnableSs1更改为false,但那也没有奏效。
我知道我可以为SMTP服务器支付费用,但我试图首先以便宜的价格购买(免费)。实际上,我并不期望需要很多通知。我发现turboSMTP,这是免费的,但我不得不使用免费的电子邮件地址,他们验证您的家庭地址(这听起来有点阴凉......)。
无论如何,我的代码如下。如果有任何方法可以使这项工作(或者如果你知道一个免费的,可用的SMTP或甚至另一种方法来做到这一点),请让我知道!
我非常愿意自己做这个工作,我不只是试图从别人那里得到解决方案,但是我知道该怎么做的最后。任何帮助,你可以给我,将不胜感激。谢谢!
Try
Dim Smtp_Server As New SmtpClient
Dim e_mail As New MailMessage()
Smtp_Server.UseDefaultCredentials = True
Smtp_Server.EnableSsl = False
Smtp_Server.Host = "smtp.gmail.com"
Smtp_Server.Port = 465
Smtp_Server.EnableSsl = True
e_mail.From = New MailAddress("From Email Address", "From Email Name")
e_mail.To.Add("My Phone [email protected]")
e_mail.Subject = "Hello there!"
e_mail.IsBodyHtml = False
e_mail.Body = txtMessage.Text
Smtp_Server.Send(e_mail)
Catch ex As Exception
MsgBox(ex.Message)
End Try
此代码接收的错误消息是什么?任何与无效凭证有关的东西? – Steve
哦,这是一个相当长的响应端口25或587(失败,发送电子邮件,无法连接到删除服务器,试图访问一个套接字的方式禁止它的访问权限等)。听起来像这些端口只是平坦的被阻止以这种方式被使用。虽然端口465似乎超时。 –
你表明你想要的只是一项免费服务。 FWIW,我在AOL上添加了一个NetworkCredential来测试你的代码,它工作正常。根据他们的设置说明,只需使用端口587和Enablessl = True即可。 – TnTinMn