用 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 发送邮件 [重复]的主要内容,如果未能解决你的问题,请参考以下文章