Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.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时出错";邮购;功能_Php_Encryption - Fatal编程技术网

&引用;“无加密”;使用PHP时出错";邮购;功能

&引用;“无加密”;使用PHP时出错";邮购;功能,php,encryption,Php,Encryption,正在构建当前没有“https”的站点 正在尝试测试发送验证电子邮件的登录方案 试用了PHP的mail()函数,它成功了,只是电子邮件在接收者的Gmail中变成了垃圾邮件。(这是我第一次玩mail()) 问题:使用站点上的SSL(启用“https”)是否会解决此问题?如果没有,那会怎样?(要知道,使用PHPMailer之类的工具更好,但是mail()实现起来要简单得多,所以如果可能的话,我们更愿意使用它。) 错误: 脚本: <?php $to="receiver's email

正在构建当前没有“https”的站点

正在尝试测试发送验证电子邮件的登录方案

试用了PHP的
mail()
函数,它成功了,只是电子邮件在接收者的Gmail中变成了垃圾邮件。(这是我第一次玩
mail()

问题:使用站点上的SSL(启用“https”)是否会解决此问题?如果没有,那会怎样?(要知道,使用PHPMailer之类的工具更好,但是
mail()
实现起来要简单得多,所以如果可能的话,我们更愿意使用它。)

错误:

脚本:

<?php

    $to="receiver's email address";
    $subject="sub: test mail from mail1.php";
    $body="body: test mail from mail1.php";
    $from = "sender's email address";
    $headers = "From:".$from;
    mail($to,$subject,$body,$headers);

?>

尝试在mail()函数之前发送标头,例如:

$header = "From: noreply@example.com\r\n"; 
$header.= "MIME-Version: 1.0\r\n"; 
$header.= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
$header.= "X-Priority: 1\r\n";

.
.
.
mail($to,$subject,$body,$headers);
以防这不能解决您的问题。请尝试改用PHPMailer

从下载库

在我的站点上使用SSL(启用“https”)会解决这个问题吗

否。收件人服务器是否认为您的电子邮件是垃圾邮件与发送邮件的服务器上的网站是否使用HTTPS无关。加密投诉与您的本地电子邮件服务器有关,而不是与您的web服务器有关

如果没有,那会怎样

请注意,您的电子邮件位于垃圾邮件文件夹中并不一定是因为缺少加密。在本地电子邮件服务器上实现加密可能会有所帮助,但也可能是一件痛苦的事情——无论您运行的是什么电子邮件服务器,都必须参考文档

你可以通过在你这边实施SPF和DKIM来提高机会


PHPMailer不一定会表现得更好。我会推荐一种像MailGun这样的邮件服务。他们将为您处理SSL,并提供弹跳检测等服务。

这些头中没有关于加密的内容,这对他们有什么帮助?另外,PHPMailer将如何帮助他们呢?
但是mail()的实现要简单得多,所以如果可能的话,我们更愿意使用它。
不,它不是。编写所有必要的邮件头并正确编码比使用phpmailer要做的工作多得多,phpmailer可以为您完成所有这些工作。@tkausl谢谢——将研究
phpmailer
(实际上还没有尝试过,只是假设安装某些东西比使用内置PHP函数更复杂)这与您的电子邮件缺少或出错的其他内容相比,不使用加密可能是一个次要因素。使用PHPMailer几乎可以解决所有问题,但值得注意的是,在当今时代,您绝对不能使用第三方的电子邮件地址作为“发件人”地址。