【问题标题】:Configuring PHP to Function with SMTP将 PHP 配置为使用 SMTP 运行
【发布时间】:2014-01-21 16:57:48
【问题描述】:

我有一个注册脚本,可以向注册的人发送电子邮件。

        //// Set headers ////
        $headers = 'MIME-Version: 1.0' . "rn";
        $headers .= "Content-type: textrn";
        $headers .= "From: $from";
        /// Send the email now ////
        mail($email1, $subject, $message, $headers, '-f nleachman@stayontrack.net');
        //mail($email1, $subject, $message, $headers, '-f noreply@your-email.com');
        $db->commit();
        echo "Thanks for joining! Check your email in a few moments to activate your account so that you may log in. See you on the site!";
        $db = null;
        exit();
}
        catch(PDOException $e){
                $db->rollBack();
                echo $e->getMessage();
                $db = null;
                exit();
        }

这是我用于配置的 SMTP 服务器:

SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = nleachman@stayontrack.net

sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

当我尝试运行我的登录脚本时,我会得到这个:

感谢您的加入!请稍后检查您的电子邮件以激活您的帐户,以便您可以登录。我们网站上见!

我的问题是,注册的人永远不会收到电子邮件。起初我认为这可能只是 localhost 上的一个不可能的功能。然而,我看到了一些对其他人有用的代码,但给了我一个错误,比如......

变量 $From 未设置

如何配置我的代码以使其运行时不会出错?

另外,我如何配置代码以确保电子邮件发送给谁收到它?

【问题讨论】:

  • 您需要使用 SMTP 验证(用户名和密码)才能使用 gmail 的 smtp 服务器。我会研究 PHPmailer 或其他一些允许 smtp 身份验证的 php 邮件包。
  • 我下载 PHPMailer 作为最后的手段。我试试看。

标签: php html forms email


【解决方案1】:

为了在 PHP 中使用 SMTP,你应该看看 phpmailer。 https://github.com/Synchro/PHPMailer

易于配置并为您完成所有工作。

【讨论】:

  • 我如何使用 PHPmailer?
  • @jacktherap 只看文档。基本上有一个复制粘贴示例,您只需要修改服务器和密码。
【解决方案2】:

您正在使用 mail() 发送电子邮件 - 在未发送到某些域(如 hotmail)之前,我遇到了这个问题。我会试试 PEAR 邮件 - http://pear.php.net/package/Mail/redirected

【讨论】:

    猜你喜欢
    • 2010-10-11
    • 2016-12-24
    • 2011-04-01
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-13
    相关资源
    最近更新 更多