电子邮件 - 在电子邮件中包装“a href”链接的正确性是什么?

问题描述:

我试图设置邮件正文显示电子邮件中的链接,供用户下载pdf以备日后需要再次下载时使用。它不是html正文,因为它在大多数显示html代码的电子邮件中都不起作用。所以我决定用电子邮件的纯文本代替。电子邮件 - 在电子邮件中包装“a href”链接的正确性是什么?

$umessage .='<a href="'.home_url('/download.php?f=pdffiles/'.$filename).'"><a href="'.home_url('/download.php?f=pdffiles/'.$filename).'">'.$title.'</a>'; 
     }} 

单引号有什么问题?它显示在电子邮件:

<a href="http://localhost/download.php?..............">file name</a> 

我不认为双引号会有所帮助,对不对?

编辑#2

$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n" 

看来,它不会在苹果以外的任何邮件的电子邮件应用程序很好地工作。

任何想法或者它可能不正确?

编辑#3

$umessage = "Thank you for downloading pdf. \r\n\r\n"; 
     $umessage .= "Please click on the link below to download\r\n"; 
      if(count($selectfiles)>0) 
     { 
      foreach($selectfiles as $key) 
      { 
       $keyArray = explode('@',$key); 

       $filename = $keyArray[1]; 

       $title = $keyArray[0]; 

     $umessage .='<p>Download '. '<a href="'.home_url('/download.php?f=pdffiles/'.$filename).'"><a href="'.home_url('/download.php?f=pdffiles/'.$filename).'">'.$title.'</a></p>'; 

}} 

     $fm ='xxxx'; 
     $to='xxx'; 

     $subject = "Download Request from ". $name; 
     $headers .= 'MIME-Version: 1.0' . "\r\n"; 
     $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
     $headers .= 'From:<'.$fm.'> ' . "\r\n" . 'Reply-To: ' . $to; 

     $uto  = $email; 
     $usubject = "Thank you for Downloading our PDF"; 

     wp_mail($to, $subject, $message, $headers); 
     wp_mail($uto, $usubject, $umessage, $headers); 
+0

我不认为你可以在纯文本文件中放置一个html链接。有些电子邮件读者可能会将其转换为。 – Iznogood 2012-04-03 02:50:09

+0

大多数用户现在使用支持HTML的电子邮件客户端,我会说90%+ – 2012-04-03 03:47:47

+0

向我们显示完整的电子邮件代码。 – 2012-04-03 04:33:58

如果你发送的电子邮件为纯文本,那么你发送任何HTML格式将显示为纯文本。这与从您的电子邮件中删除html格式一样简单

$umessage .= 'download link: '.home_url('/download.php?f=pdffiles/'.$filename); 
+0

谢谢。我可以问问题吗?为什么HTML格式不能在不同的电子邮件正文中被识别,如Gmail或Outlook?它会显示html代码:

示例
joe 2012-04-03 02:53:42
+0

如果您未指定电子邮件的内容类型为html,则内容将显示为纯文本,即html将显示为文本。如果您发送的邮件含有html,则需要确保头文件“Content-type:text/html;”与html正文一起正确发送。 – 2012-04-03 02:58:01

+1

我有$ headers。='Content-type:text/html; charset = iso-8859-1'。为 “\ r \ n” 个;仍然无法正确读取html – joe 2012-04-03 03:06:41

相关链接仅适用于网页环境。在电子邮件中,“/download.php?yadda”的链接是没有意义的,因为没有主机可以附加它。

您可以通过使用电子邮件中的链接中的完整URL解决这个问题:

$umessage .='<a href="'.home_url('http://example.com/download.php?... 

您还可能能够应对这种使用<base> tag in your HTML,但可能不被所有的电子邮件客户端正确解释。你需要测试。