繁体   English   中英

php 电子邮件发送器的 SMTP 错误

[英]SMTP error for php emailer

我正在尝试设置一个 php 脚本,该脚本会将 email 发送给选定的用户,我在互联网上查看了如何但无法运行该脚本,因为我收到以下错误:

警告:mail() [function.mail]: "sendmail_from" 未在 php.ini 中设置或自定义 "From:" header 在 E:\Program Files\xampp\phpMyAdmin\emailer.ZE1BCZ340B66E18E4969 中缺失

这是我设计的以下示例的脚本代码:

<?php
    $recipient = "<ismael.srcyber@gmail.com>";
    $subject = "Flight Status";
    $body = "Flight has just landed.";

    $host = "ssl://smtp.gmail.com";
    $port = "465";


    if(mail($recipient, $subject, $body))
    {
        echo("<p>Message successfully sent</p>");
    }
    else
    {
        echo("<p>Message Delivery failed </p>");
    }
?>

提前致谢。

由于错误提示您必须在 php.ini 中添加默认的“发件人”字段(谁发送邮件):

SMTP = localhost


sendmail_from = me@localhost.com

然后重启apache

否则,您可以将其设置为 php 手册中所述的第四个参数(查看http://php.net/manual/en/function.mail.php

笔记:

发送邮件时,邮件必须包含 From header。 这可以使用 additional_headers 参数设置,或者可以在 php.ini 中设置默认值。

否则将导致类似于警告的错误消息:mail(): "sendmail_from" not set in php.ini 或自定义 "From:" header 缺失。 From header 还设置了 Windows 下的 Return-Path。

例子:

<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM