使用PHP在HTML电子邮件中使用锚元素时邮件传递失败
我使用pear lib发送电子邮件,当我使用PHP从Gmail发送任何电子邮件时,会遇到三个问题 1) 我收到电子邮件中的HTML代码 2) 如果我正在使用任何锚元素,则电子邮件传递失败。//如果没有锚元素,它将正常工作 3) 锚元素链接在iPhone中不起作用//对于iPhone,我尝试了使用PHP在HTML电子邮件中使用锚元素时邮件传递失败,php,html,email,html-email,Php,Html,Email,Html Email,我使用pear lib发送电子邮件,当我使用PHP从Gmail发送任何电子邮件时,会遇到三个问题 1) 我收到电子邮件中的HTML代码 2) 如果我正在使用任何锚元素,则电子邮件传递失败。//如果没有锚元素,它将正常工作 3) 锚元素链接在iPhone中不起作用//对于iPhone,我尝试了 require_once "mail/Mail.php"; $to = $email; $from = 'user@gmail.com'; $subject = 'Test!'; $body
require_once "mail/Mail.php";
$to = $email;
$from = 'user@gmail.com';
$subject = 'Test!';
$body = "<html><head><title>HTML email</title></head>
<body>
<a href='domain.com/changepassword.php?user_id=" .$User_id1."'>Create your password here</a>
</body>
</html>";// HTML code is display in email
$headers = array(
'From' => $from,
'To' => $to,
'Subject' => $subject
);
$smtp = Mail::factory('smtp', array(
'host' => 'ssl://smtp.gmail.com',
'port' => '465',
'auth' => true,
'username' => 'user@gmail.com',
'password' => '******'
));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo('<p>' . $mail->getMessage() . '</p>');
} else {
echo('<p>Message successfully sent!</p>');
}
require_once“mail/mail.php”;
$to=$email;
$fromuser@gmail.com';
$subject='Test!';
$body=“HTML电子邮件
";// HTML代码显示在电子邮件中
$headers=数组(
'From'=>$From,
'至'=>$至,
“主题”=>$Subject
);
$smtp=Mail::工厂('smtp',数组(
'主机'=>'ssl://smtp.gmail.com',
“端口”=>“465”,
“auth”=>正确,
'用户名'=>'user@gmail.com',
“密码”=>“******”
));
$mail=$smtp->send($to、$headers、$body);
if(PEAR::isError($mail)){
echo(“”.$mail->getMessage()。”);
}否则{
回显(“消息已成功发送!”);
}
在您的$body
中尝试一下如何。还要记住,$body行后面不应该有空格(其中声明了DOCTYPE
)
我在SendGrid和PHPMailer上使用了这个
$body = <<<EOD
<!DOCTYPE html>
<html>
<head>
</head>
<body>
Your content here
</body>
</html>
EOD;
$body=在您的$body
中尝试一下怎么样。还要记住,$body行后面不应该有空格(其中声明了DOCTYPE
)
我在SendGrid和PHPMailer上使用了这个
$body = <<<EOD
<!DOCTYPE html>
<html>
<head>
</head>
<body>
Your content here
</body>
</html>
EOD;
$body=您必须在html的标题中定义。希望您能在这里找到解决方案:
在链接中添加http,使其适用于所有情况
我使用phpmailer,它总是很好的。你可以试试这个 您必须在html的标题中定义。希望您能在这里找到解决方案:
在链接中添加http,使其适用于所有情况
我使用phpmailer,它总是很好的。你可以试试这个 谢谢回复Nick,我试过了,但仍然收到电子邮件中的HTML代码谢谢回复Nick,我试过了,但仍然收到电子邮件中的HTML代码谢谢回复Mehedee先生,在我尝试PHP mailer之前,但我所有的电子邮件都被发送到垃圾邮件smtp服务器解决了这个问题。您可以要求您的服务器管理员获取smtp服务器,或者您可以使用第三方smtp,如pepipost.com,但这需要时间来批准。我使用Gmail通过PHPStrong过滤发送邮件-白名单、红名单电子邮件。在某些情况下,垃圾邮件过滤器认为Gmail是垃圾邮件。你可以在这里测试你的电子邮件。然后您可以清楚地了解Mehedee先生您可以在这里检查我的PHPMailer代码感谢回复Mehedee先生,在我尝试PHP mailer之前,但我的所有电子邮件都会发送到垃圾邮件smtp服务器解决此问题。您可以要求您的服务器管理员获取smtp服务器,或者您可以使用第三方smtp,如pepipost.com,但这需要时间来批准。我使用Gmail通过PHPStrong过滤发送邮件-白名单、红名单电子邮件。在某些情况下,垃圾邮件过滤器认为Gmail是垃圾邮件。你可以在这里测试你的电子邮件。然后你可以清楚地理解Mehedee先生你可以在这里检查我的PHPMailer代码你说的锚标签链接在哪里?我在$body中添加了。如果我删除了它正在工作,但也得到了html代码,你提到的锚定标记链接在哪里?我在$body中添加了。如果我删除了它的工作,但也得到了html代码