【问题标题】:Setting up an SMTP server to work in conjunction with an AJAX/PHP contact form设置 SMTP 服务器以与 AJAX/PHP 联系表单一起使用
【发布时间】:2016-02-16 16:43:08
【问题描述】:

我目前在我的网站上创建联系表单时遇到问题。

我想在我的网站上使用一个使用本地电子邮件服务器(后缀)发送邮件的联系表。

目前我在实现此功能时遇到问题。是否需要 SMTP 服务器才能将填写好的联系表发送到特定的电子邮件地址?

示例...

 <?php 
if(isset($_POST['submit'])){
$to = "email_goes_here"; 
$email = $_POST['email']; 
$name = $_POST['name'];
$message = $_POST['message'];


$headers = "From:" . $email;
mail($to,$email,$name,$message);
echo "Mail Sent. Thank you " . $name . ", we will contact you shortly.";

}
?>

我是否需要 SMTP 服务器才能成功地将捕获的数据发送到电子邮件地址? (捕获的数据是放入表单的数据,使用 POST 方法存储)。

如果到目前为止我走在正确的轨道上,任何人都可以指出正确的方向来配置 SMTP 服务器以使用 PHP 吗??

此联系表简直是一场噩梦

提前致谢。

【问题讨论】:

  • 您需要正确配置的 STMP 服务器来发送电子邮件,是的。您的这台服务器,是自己的服务器还是您的网站托管在其他地方?
  • 此服务器是我自己的服务器,我目前使用 post fix 作为电子邮件服务器

标签: php email smtp server


【解决方案1】:

假设您的电子邮件服务器运行良好,因此您可以使用它接收和发送电子邮件,php 能够在 localhost 中发送电子邮件所需的唯一配置是在其 php.ini 文件中:

[mail function]
SMTP = localhost
smtp_port = 25
sendmail_path = "/usr/sbin/sendmail -t -i"

前 3 行可能已经在您的标准配置中,是与您相关的第 4 行。

修改后保存文件并重新启动 Apache 服务器。

通过在终端窗口中键入以下命令来检查您的新配置是否正常工作:

echo testing | mail -s Test email@domain.com

问候

编辑:

关于 postfix 的 sendmail 命令的更多信息:

http://www.postfix.org/sendmail.1.html

【讨论】:

  • 我进入 php.ini 并更改了这些参数,但仍然没有。当然我没有错过什么
  • “echo testing | mail -s Test email@domain.com”的输出是什么?
  • 那个终端命令什么也没做,只是新建了一行。
  • 我可以远程登录服务器,但路由似乎不起作用。发出的电子邮件不起作用。
  • 再次使用终端命令,然后查看后缀日志以检测任何相关问题。日志文件应位于 /var/log/mail.log
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-03
  • 1970-01-01
  • 2010-12-23
  • 1970-01-01
  • 2019-08-19
  • 1970-01-01
相关资源
最近更新 更多