2010-09-09 3 views
1

Здравствуйте, я разработал сценарий рассылки для отправки электронных писем HTML.Ошибка в ссылках HTML, отправляющих письма в Gmail

Все отлично работает с почтовыми клиентами на рабочем столе, но я замечаю, что при отправке в учетную запись gmail ссылки html не работают, пока встроенные изображения, css, layout table работают отлично. изменение 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 = "От: $ 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

Смежные вопросы