2010-09-09 25 views
1

您好,我开发了一个通讯脚本来发送HTML电子邮件。向Gmail发送电子邮件的HTML链接出错

一切工作很好接收桌面电子邮件客户端,但我注意到,当我发送到Gmail帐户,HTML链接不工作,而嵌入式图像,CSS,表格布局工作很好。 Gmail的变化

<a href="myurl" title="My url">link</a> 

<a title="My url">link</a> 

我找了几个话题围绕,没有解决方案。

我这是怎么建立的电子邮件,在$体变种是标准的HTML链接:

功能send_mail($来自$到,$主题,$机构,$ site_skin,$ SITE_NAME,$ SITE_URL ) { //总报头 $ header =“From:$ site_name \ n”; $ header。=“BCC:$ to \ n”; $ header。=“X-Mailer:PHP5.3 \ n”;

//separator string 
$boundary = "==String_Boundary_x" .md5(time()). "x"; 

// specific message header 
$header .= "MIME-Version: 1.0\n"; 
$header .= "Content-Type: multipart/related;\n"; 
$header .= " boundary=\"$boundary\";\n\n"; 

//this part is viewed only if the program cannot manage the MIME 
$message = "your software dosen't support MIME\n\n"; 
$message .= "--$boundary\n"; 
$message .= "Content-Type: text/html; charset=\"utf-8\"\n"; 
$message .= "Content-Transfer-Encoding: 7bit\n\n"; 

$title_newsletter ="$subject"; 
$mail_body = $body; 
$subject = "$titoloNSL"; 
$mail_site_url="$site_url"; 

include ("../../../../themes/skins/$site_skin/email/email.php"); 
$message .= "$htmlBody"; 

$message .= "--$boundary\n"; 
$message .= "Content-ID: <header>\n"; 
$message .= "Content-Type: image/jpeg\n"; 
$message .= "Content-Transfer-Encoding: base64\n\n"; 

$embedded_file = "../../../../themes/skins/$site_skin/images/mail_header.jpg"; 
$file = fopen($embedded_file,'rb'); 
$data = fread($file,filesize($embedded_file)); 
fclose($file); 

$data = chunk_split(base64_encode($data)); 
$message .= "$data\n\n"; 

$message .= "--$boundary\n"; 
$message .= "Content-ID: <go>\n"; 
$message .= "Content-Type: image/gif\n"; 
$message .= "Content-Transfer-Encoding: base64\n\n"; 

$embedded_file = "../../../../themes/skins/$site_skin/images/go.gif"; 
$file = fopen($embedded_file,'rb'); 
$data = fread($file,filesize($embedded_file)); 
fclose($file); 

$data = chunk_split(base64_encode($data)); 
$message .= "$data\n\n"; 

$message .= "--$boundary--\n"; 

@mail($to, $subject, $message, $header); 

}

回答

1

我的猜测是,有什么不对您的代码;它看起来就像是Gmail,它在他们的最后剥离了HTML中的链接。

您的URL可能是垃圾邮件过滤器或类似的东西?

如果出现这种情况,我不知道在PHP代码中有什么可以改进的东西(短文不是以纯文本而是用html发送)。

+0

代码是正确的,我插入我错误的链接是黑名单,或类似的东西,插入另一个链接都工作正常。 – Mike 2010-09-09 12:53:54