我正在尝试创建一个php脚本,向用户发送一封确认电子邮件,其中包含一个必须单击以激活用户帐户的链接。
已经过测试,例如gmail电子邮件帐户可以正常使用。
$message = "Confirm your email.
Click the link below to confirm your account.
https://testonly.000webhostapp.com/web_emailconfirm.php?user_name=$user_name&confirm_code=$confirmCode";
mail($email,"Confirmation email",$message,"From: doNotRepply@mytestcode.com");
点击电子邮件中的链接后,它会打开一个网站,在内部运行另一个用于验证的PHP脚本,并使用一些新值更新用户数据库。
问题是:看来,在Outlook 中,只是打开电子邮件似乎是在触发链接,因为php代码正在运行且用户数据库正在更新,之前实际点击链接。
这里发生了什么?
答案 0 :(得分:0)
尝试更改
$message = "Confirm your email.
Click the link below to confirm your account.
https://testonly.000webhostapp.com/web_emailconfirm.php?user_name=$user_name&confirm_code=$confirmCode";
到
$message = "Confirm your email.
Click the link below to confirm your account.
<a href='https://testonly.000webhostapp.com/web_emailconfirm.php?user_name=$user_name&confirm_code=$confirmCode'>https://testonly.000webhostapp.com/web_emailconfirm.php?user_name=$user_name&confirm_code=$confirmCode</a>";
<强>更新强>
您还应该传递HTML邮件标题
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
您可以了解更多here