0

我正在使用 WAMP 本地运行一个网站,并安装了 Test Mail Server Tool 来充当邮件服务器(它所做的只是将消息保存为 .eml 文件)。我尝试使用 Lotus Notes 和 gmail(Web 界面)打开邮件,但两者都没有解释 HTML,例如,他们<a href='localhost'>click here</a>没有可点击的链接我是否在标题上犯了错误?

这是我正在使用的代码

$to = 'bepusslai@fakeinbox.com';
$from = 'From: tester1@localhost.com';
$subject = 'this is a test';
$message = '<html><head></head><body>Hello. Please follow <a href="http://localhost/proc.php?uid=45ab3">this link</a> to activate your account.'
    ."r\n".'<a href="http://localhost/proc.php?uid=45ab3"><img src="images/ActivateButton.gif" alt="activate button" />
    </body></html>';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; utf-8' . "\r\n";
$headers .= 'From: testk1@localhost.com' . "\r\n";
mail($to, $subject, $message, $from, $headers);

顺便说一句,我被困在没有邮件服务器的情况下,因为 WAMP 没有附带邮件服务器,而且我对有人推荐的另一个问题感到满意 Test Mail Server Tool。我愿意使用不同的,因为它似乎并不受欢迎。

4

2 回答 2

2

如果您参考文档中的文档和示例,您将看到 From 信息不是单独的参数,mail()而是包含在附加标题信息中。

布尔邮件(字符串 $to ,字符串 $subject ,字符串 $message [,字符串 $additional_headers [,字符串 $additional_parameters ]])

从对 的调用中删除您的 $from 参数mail()

mail($to, $subject, $message, $headers);
于 2013-08-14T22:46:12.607 回答
0

看看这个例子,它对我有用:

<? 
//change this to your email. 
$to = "m@maaking.com"; 
$from = "m2@maaking.com"; 
$subject = "Hello! This is HTML email"; 

//begin of HTML message 
$message = "<html> 
   <body bgcolor=\"#DCEEFC\"> 
<center> 
    <b>Looool!!! I am reciving HTML email......</b> <br> 
    <font color=\"red\">Thanks dud!</font> <br> 
    <a href=\"http://www.test.com/\">* test.com</a> 
</center> 
  <br><br>*** Now you Can send HTML Email <br> Regards<br>MOhammed Ahmed - Palestine 
  </body> 
   </html>"; 
//end of message 

// To send the HTML mail we need to set the Content-type header. 
$headers = "MIME-Version: 1.0rn"; 
$headers .= "Content-type: text/html; charset=iso-8859-1rn"; 
$headers  .= "From: $from\r\n"; 
//options to send to cc+bcc 
//$headers .= "Cc: [email]maa@p-i-s.cXom[/email]"; 
//$headers .= "Bcc: [email]email@example.cXom[/email]"; 

// now lets send the email. 
mail($to, $subject, $message, $headers); 

echo "Message has been sent....!"; 
 ?>
于 2013-08-14T22:49:47.460 回答