Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP在HTML电子邮件中使用锚元素时邮件传递失败_Php_Html_Email_Html Email - Fatal编程技术网

使用PHP在HTML电子邮件中使用锚元素时邮件传递失败

使用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

我使用pear lib发送电子邮件,当我使用PHP从Gmail发送任何电子邮件时,会遇到三个问题

1) 我收到电子邮件中的HTML代码

2) 如果我正在使用任何锚元素,则电子邮件传递失败。//如果没有锚元素,它将正常工作

3) 锚元素链接在iPhone中不起作用//对于iPhone,我尝试了

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代码