php邮件中的html链接

时间:2010-07-28 16:41:43

标签: php html email plaintext

我有以下代码向用户发送电子邮件。

$mes_body.="Click to Login. www.website.com/index.php\n\n";  
$mes_body.= "<a href='www.website.com/index.php'>Click to Login.</a>\n\n";

现在我看到的电子邮件是:

Click to Login. www.website.com/index.php

<a href='www.website.com/index.php'>Click to Login.</a>

想要的是可点击的“点击登录”而不是链接。我想我正在使用plaintest。我现在无法改变它,所以有任何解决方法吗?感谢。

6 个答案:

答案 0 :(得分:2)

参见示例#4,“发送HTML电子邮件”,on the PHP mail() documentation page

问题是您的邮件需要MIME标头将其标记为HTML而不是纯文本。

答案 1 :(得分:0)

您需要发送HTML电子邮件。

有关如何执行此操作的简单示例,请参阅PHP manual to mail()中的示例#4。

但是,您应始终发送文本替代方案以获得最大兼容性。要发送多部分电子邮件,最方便的是使用现有的邮件库,如SwiftMailer

答案 2 :(得分:0)

如果没有HTML,则无法使用HTML格式。

(显然)功能

您需要切换到HTML电子邮件或删除HTML标记。

请注意,大多数电子邮件客户端会自动将明文消息中的网址设为可点击。

答案 3 :(得分:0)

没有。您最接近纯文本电子邮件中的超链接的是客户端检测到并可点击的URI。绝对没有办法让文本成为URI本身以外的任何东西。

如果您需要,那么您需要使用HTML格式化您的电子邮件(并且应该使其成为包含明智的纯文本替代品的多部分电子邮件)。

答案 4 :(得分:0)

抱歉,我不知道我的HTML会被格式化为链接,我希望这次有效。

只需确保在链接开头包含(&#39; http://&#39;),然后在发送时即可点击。

答案 5 :(得分:0)

使用此示例代码。

<?php
//mail customer
$from = 'donotreply@mysite.co.uk';
$to = "email@example.com"; //write the email here.
$subject = 'Title of Email';

$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
$headers .= "From: Name of Company <$from>\r\n";

$msg = '
<html>
<head>
<link href="http://linktocss/.../etc" rel="stylesheet" type="text/css" />
</head>

<body>

<p>I am testing this message.</p>

<a href="https://www.w3schools.com/html/">Visit our HTML tutorial</a>

<div>
This is a clear test to go back to the line. 
</div>

Regards, <br>

Company Name.

</body>
</html>
';

mail($to, $subject, $msg, $headers) or die ("mail error");

?>

希望这有帮助。