用 PHP 发送邮件 [重复]

Posted

技术标签:

【中文标题】用 PHP 发送邮件 [重复]【英文标题】:Send Mail in PHP [duplicate] 【发布时间】:2016-05-10 03:36:38 【问题描述】:

我是新来的。 我试图向使用 php 的人发送电子邮件。 环顾四周,我发现了一些对我有帮助的信息,但没有解决问题。不知道哪里出错了。

当我尝试发送表单时,我得到一个空站点,这意味着我没有收到任何错误。但是我没有收到邮件。

我已经尝试过的:

php.ini 和 sendmail.ini 的变化 尝试使用 error_get_last() 获取错误

我使用的代码:

mail.php

    <?php
    $m = $_POST['mail'];
    $b = $_POST['subject'];
    $z = $_POST['time'];
    $d = $_POST['date'];
    $hf = $_POST['mw'];
    $f = $_POST['company'];
    $t = $_POST['phone'];
    $ta = $_POST['ta'];
    $n = "test";

    if(!empty($_POST['ha']))$ha = "Something"; else  $ha = "Something else";
    if(!empty($_POST['hz']))$hz = "Something"; else  $hz = "Something else";
    if(!empty($_POST['rwa']))$rwa = "Something"; else  $rwa = "Something else";
    if(!empty($_POST['ba']))$ba = "Something"; else  $ba = "Something else";

    mail($m, $b, $n); ?>

php.ini

SMTP = smtp.gmail.com 
smtp_port = 587
sendmail_from = gluray.simons@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
;sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
mail.add_x_header=Off

sendmail.ini

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=gluray.simons@gmail.com
auth_password=mypassword
force_sender=gluray.simons@gmail.com

我使用 Xampp 控制面板 v3.2.2,PHP 5.6.15

提前致谢。

【问题讨论】:

阅读PHP mail form doesn't complete sending e-mail。此外,如果你得到一个“空站点”,它可能表明你有一些语法/解析错误,请参阅error_reporting(E_ALL);ini_set('display_errors', 1); 而且,只是一个建议 - 您可以在 if-blocks 上使用三元运算符来获得更简洁的代码。看起来像$ha = (!empty($_POST['ha']) ? "Something" : "Something else"); 【参考方案1】:

使用 mandrill 代替,你不会依赖 php 邮件

【讨论】:

以上是关于用 PHP 发送邮件 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 HTML 发送邮件 [重复]

我向其发送邮件的每个用户都会重复 PHP Mailer 邮件

电子邮件不发送PHP邮件功能[重复]

未在php中接收mail()函数发送的邮件[重复]

php使用SMTP发送电子邮件[重复]

我的邮件没有被php函数mail()发送[重复]