日期:2010-12-12  浏览次数:21040 次

由于技术和安全问题,现在大部分的虚拟主机服务商都采用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发送的邮件,所以能够顺利通过验证。当收件方收到邮件后,在邮件正文第一行就出现了“此邮件的发送地址是:(真实的发送地址),如要回复此邮件,请发往(真实的发送地址)”这样的文字。详细的发送页面源代码请点这里下载