126邮箱发送邮件含超链接

今天帮别人看一个用phpmailer发送邮件的项目。

在$mail->Body里面放入了超链接,但发送以后超链接失效。我研究了半天,后来发现这和他使用的邮箱有关系。他使用的是126的邮箱,我用httpwatch跟踪了一下,发现发送邮件的时候126对超链接并没有转换(我以为是邮箱对连接标记有特殊要求),我猜想,其实用明文的方式发送邮件就可以了。试验,果然如此。即$mail->IsHTML(false)

后记:其实和明文没什么关系,关键是在传输的超链接里面要加上http

代码如下:

  
  
  
  
  1. <?php 
  2. require("class.phpmailer.php"); 
  3. $mail = new PHPMailer(); 
  4. $mail->IsSMTP(); // set mailer to use SMTP 
  5. $mail->Host = "smtp.126.com";  // specify main and backup server 
  6. $mail->SMTPAuth = true;     // turn on SMTP authentication 
  7. $mail->Username = "*****";  // SMTP username 
  8. $mail->Password = "*****"// SMTP password 
  9. $mail->From = "*****@126.com"
  10. $mail->FromName = "*****"
  11. $mail->AddAddress("*****@126.com"); 
  12. $mail->IsHTML(false);// set email format to plain 
  13. $mail->Subject = "test"
  14. $mail->Body    = '<A href="http://aaaaaaa.com">aaa</A><DIV><A href="http://aaaaaaa.com">aaa</A></DIV>'
  15. if(!$mail->Send()) 
  16.    echo "Message could not be sent. <p>"
  17.    echo "Mailer Error: " . $mail->ErrorInfo; 
  18.    exit
  19. echo "Message has been sent"
  20. ?> 

 

你可能感兴趣的:(超链接,职场,休闲,php发邮件)