我在Windows上工作,我启用了telnet客户端
在cmd提示符中:
$telnet smtp.gmail.com 587
220 mx.google.com ESMTP dk3sm50678627pbc.32 - gsmtp
$Helo
250 mx.google.com at your service
$ mail from: <myuser@gmail.com>
530 5.7.0 Must issue a STARTTLS command first. dk3sm50678627pbc.32 - gsmtp
$ STARTTLS
220 2.0.0 Ready to start TLS
$ mail from:
C:\Users\{myuser}>
Connection to host lost.
不知道有什么问题?
任何人都可以帮助我,我如何使用telnet从命令行发送来自gmail服务器的电子邮件&gt;
答案 0 :(得分:2)
smtp.gmail.com 需要 TLS。 Windows附带的基本telnet客户端不知道如何与服务器协商TLS。您可能希望使用openssl,它可以协商TLS。有关如何执行此操作的示例,请参阅http://www.madboa.com/geek/openssl/#cs-smtp。
答案 1 :(得分:0)
放入VBS文件,即sendmail.vbs。
Set emailObj = CreateObject("CDO.Message")
emailObj.From = "cat@gmail.com"
emailObj.To = "cat@gmail.com"
emailObj.Subject = "Test CDO"
emailObj.TextBody = "Test CDO"
emailObj.AddAttachment "c:\windows\win.ini"
Set emailConfig = emailObj.Configuration
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "cat"
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Ccat1"
emailConfig.Fields.Update
emailObj.Send
If err.number = 0 then Msgbox "Done"
在Google的GMail网站上,您必须启用此功能才能使CDO正常工作。
在您的Gmail页面上,点击设置 - 帐户和导入 - 其他Google帐户设置 - [在页面底部]允许安全性较低的应用。
同样从记忆中,您还必须在第一次使用时点击电子邮件中的链接(已经过了几年)。
答案 2 :(得分:-1)
在发送电子邮件之前,gmail smtp必须使用smtp auth。 smtp auth需要用户名和密码。
如果你能用中文阅读,请看这个链接。 http://linxucn.blog.51cto.com/1360306/837365最后我建议你使用java来请求gmail smtp服务器发送电子邮件,这将更容易,因为你不需要将smtp auth编码为BASE64或其他任何东西。
GOGOGO,祝你好运:)