1

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

$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。我现在无法更改它,所以有什么解决方法吗?谢谢。

4

6 回答 6

2

请参阅PHP mail() 文档页面上的示例 #4,“发送 HTML 电子邮件” 。

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

于 2010-07-28T16:44:30.243 回答
1

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

如果你想要这样,那么你需要使用 HTML 来格式化你的电子邮件(并且应该使它成为一个包含一个合理的纯文本替代方案的多部分电子邮件)。

于 2010-07-28T16:45:19.063 回答
0

您需要发送 HTML 电子邮件。

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

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

于 2010-07-28T16:44:27.297 回答
0

没有 HTML 就无法使用 HTML 格式。

(明显地)

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

请注意,大多数电子邮件客户端会自动使纯文本消息中的 URL 可点击。

于 2010-07-28T16:44:49.477 回答
0

抱歉,我不知道我的 HTML 将被格式化为链接,我希望这次它可以工作。

只需确保在链接的开头包含('http://'),然后在发送时它将变为可点击。

于 2014-09-17T09:23:33.137 回答
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");

?>

希望这可以帮助。

于 2017-06-02T17:13:15.057 回答