0

好吧,在你们笑之前 LOLZ --> 我不确定这是 GMAIL 问题还是我做错了什么,但我试图在邮件正文中插入一封电子邮件以获取激活链接。

$body = "Or click on this link: <a href=\"http://www.url.com/start/page.php?verify=true&id=".$url."&activate=".$ac."> Activate Your Account </a>"


好的,这里的问题是我的 GMAIL 帐户显示了这一点:(顺便说一句,它可以点击并正确路由)

Or click on this link: <a href="http://www.url.com/start/page.php?verify=true&id=f22645cff5ecfd4d3c115af5&activate=75845> Activate Your Account </a>

我在这里想念什么?这只是一个gmail问题吗?我该如何纠正这个?我希望它显示:激活您的帐户

4

6 回答 6

3

尝试关闭 URL 末尾的引用。

SO 语法突出显示甚至向您展示了这个问题。

于 2012-09-07T00:26:07.920 回答
1
  1. 错误的语法,

错误应该告诉你发生了什么,

Parse error: syntax error, unexpected T_STRING on line x...

2. 发送 HTML 邮件,Content-type 标头必须设置为 html

我做了一些更改并对此进行了测试,试试这个工作脚本:

<?php
$body = 'Or click on this link: <a href="http://www.url.com/start/page.php?verify=true&id='.$url.'&activate='.$ac.'"> Activate Your Account </a>';
// To send HTML mail, the Content-type header must be set
$headers = 'From: webmaster@example.com' . "\r\n" .
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail("to@gmail.com","Subject goes here",$body,$headers);
?>

PHP 邮件

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
于 2012-09-07T00:29:26.450 回答
0

当然,您在这里缺少双引号。

<a href="http://www.example.com/...5845>

这应改为:

<a href="http://www.example.com/...5845">
于 2012-09-07T00:27:02.403 回答
0

如果您没有设置标题,这对我有用。当然,您需要设置自己的变量。

                $sender_email = strip_tags($sender_email);
                $subject = "=?UTF-8?B?".base64_encode(strip_tags($title))."?=";
                $message = nl2br(strip_tags($message));
                $headers = "From: ".$sender_email.' <'.$sender_email.'>'."\r\n";
                $headers .= "MIME-Version: 1.0\r\n";
                $headers .= "Content-Type: text/html;\r\n";
                $headers .= "\tformat=flowed;\r\n";
                $headers .= "\tcharset=\"utf-8\";\r\n";
                $headers .= "\treply-type=original\r\n";
                $headers .= "Content-Transfer-Encoding: 8bit\r\n";
                $headers .= "Reply-To: ".$sender_email."\r\n";

                $body =  __('sendfriend:defaultmessage') . '<br /><br/><a href="'.$link.'" title="'.$title.'" target="_blank">'.$link.'</a><br/><br />'.$message;
                $mail = mail($recipients, $subject, $body, $headers);
于 2012-09-07T00:28:15.757 回答
0

确保将电子邮件作为 HTML 电子邮件发送。

$headers = "From: myEmail@example.com\r\n";
$headers .= "Content-Type: text/html\r\n";
mail(...$headers);

在邮件函数的末尾添加 $headers 变量。

于 2012-09-07T00:29:52.043 回答
0

首先在您的邮件功能中定义标题

  $headers = 'From: abc@example.com' . "\r\n" .
  $headers  = 'MIME-Version: 1.0' . "\r\n";
  $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
于 2012-09-07T06:07:41.667 回答