轻松绕过SMTP服务器的身份验证
网络与通信
由于技术和安全问题,现在大部分的虚拟主机服务商都采用JMAIL组件提供ASP脚本发送邮件的服务,其发送代码如下:
Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress = "SMTP服务器地址"
JMail.Sender = "发送者邮件地址"
JMail.Subject = "邮件主题"
JMail.AddRecipient "接收者邮件地址"
JMail.Body = "邮件正文"
JMail.Priority = 1
JMail.Execute
设置后的SMTP服务器需要进行身份验证,例如SMTP.21cn.com服务器,只允许发送邮件地址是*@21cn.com的邮件发送,所以不能实现所有邮件自由发送。
于是,笔者想了一个办法:设法骗过SMTP服务器。编写的ASP发送代码如下:
Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress = "SMTP.21cn.com"
JMail.Sender = "myside@21cn.com"
JMail.Subject = "邮件主题"
JMail.AddRecipient 接收者邮件地址
JMail.Body = "此封邮件的发送地址是:" & "真实的发送者邮件地址" & ",如要回复此邮件,请发往" & "真实的发送者邮件地址" & vbCrLf & "邮件正文"
JMail.Priority = 1
JMail.Execute
这样每次发送邮件,SMTP.21cn.com服务器都以为是myside@21cn.com发送的邮件,所以能够顺利通过验证。当收件方收到邮件后,在邮件正文第一行就出现了“此邮件的发送地址是:(真实的发送地址),如要回复此邮件,请发往(真实的邮件地址)”这样的文字。详细的发送页面源代码,请给笔者发邮件索取(myside@21cn.com)。