首页 > 解决方案 > 带有php的Mail()函数不会加载或冻结wamp服务器

问题描述

我正在尝试使用本地 Wamp 服务器主机上的 STMP 服务器向现有的电子邮件地址发送电子邮件。在端口 465 上使用 smtp.gmail.com 时,页面会冻结并无限期加载。所有的变量都很好,我没有把它们都放在这里。

我尝试了 smtp.live.com,但在我提供了正确的登录信息时,我得到了“客户端未通过身份验证发送匿名邮件”。我不知道互联网提供商的名称(作业上下文) 我无法在作业上下文中使用 SendEmail 解决方案或任何其他插件。由于忘记的原因,我在代码中隐藏了密码,但即使使用正确的密码也无法使用。

if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
            {
                $passage_ligne = "\r\n";
            }
            else
            {
                $passage_ligne = "\n";
            }

            //=====Création de la boundary
            $boundary = "-----=".md5(rand());
            //==========
            //=====Création du header de l'e-mail.
            $header = "From: \"ECE Amazon\"<ece20192@gmail.com>".$passage_ligne;
            $header.= "Reply-to: \"ECE Amazon\" <ece20192@gmail.com>".$passage_ligne;
            $header.= "MIME-Version: 1.0".$passage_ligne;
            $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
            //==========

            //=====Création du message.
            $message = $passage_ligne."--".$boundary.$passage_ligne;
            //=====Ajout du message au format texte.
            $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
            $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
            $message.= $passage_ligne.$message_txt.$passage_ligne;
            //==========
            $message.= $passage_ligne."--".$boundary.$passage_ligne;
            //=====Ajout du message au format HTML
            $message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
            $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
            $message.= $passage_ligne.$message_html.$passage_ligne;
            //==========
            $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
            $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
            //==========

            //=====Envoi de l'e-mail.
            ini_set("SMTP", "smtp.gmail.com");
            ini_set("smtp_port","465");
            ini_set("default_domain", "smtp.gmail.com");
            ini_set("force_sender", "ece20192@gmail.com");
            ini_set("sendmail_from", "ece20192@gmail.com");
            //ini_set("auth_username", "ece20192@gmail.com");
            //ini_set("auth_password", "");
            mail($mail,$sujet,$message,$header);
            //==========

客户应该在他的电子邮件地址上收到一封带有短消息的电子邮件。SMTP 服务器应该被发送电子邮件的请求所接受。

标签: phpsmtpwamp

解决方案


推荐阅读