mail() 在新服务器上不起作用

2024-03-03

可能这是一个愚蠢的问题,但我找不到 php 邮件功能不起作用的原因 我在 debian squeeze 上有一个 nginx 服务器,我最近搬到了它。我尝试了简单的邮件执行,但它返回 false。

if(mail('[email protected] /cdn-cgi/l/email-protection', 'test-subject', 'test-text-blablabla'))
   echo 'ok';
else
   echo 'bad';

我能用它做什么?

Thanks.

我的 php.ini 邮件部分:

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = [email protected] /cdn-cgi/l/email-protection 

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path =

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = On

; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =

好吧,我做到了。我如何使用 nginx 服务器为 debian freeze 制作它:(我从 root 用户执行的所有命令)

首先你需要安装sendmail

apt-get install sendmail

接下来,您必须配置这个文件,这比我想象的要容易

sendmailconfig 

好吧,我下一步要做的是 php.ini 配置(我不是一个出色的管理员,我是初学者,所以我不知道是否有必要。)

I set

sendmail_path= /usr/sbin/sendmail -t -i

好的,从这一刻起,理论上,您可以发送电子邮件,但就我而言,它导致 504 http 错误网关超时。但很久以后我发现电子邮件已经到达了电子邮箱。 所以,我的测试 php 文件是:

<?php 
   mail('[email protected] /cdn-cgi/l/email-protection', 'test', 'you done that');
   echo 'ok'; // I use this to check that script is end the execution 
?>

这很清楚。

下一个问题是 504 错误。我转到日志文件

nano /var/log/mail.log

在这里我发现了这个错误(这不是唯一的一个错误,但它是导致 504 错误的原因):

sm-msp-queue[***]: My unqualified host name (myhostname) unknown; sleeping for retry

然后,找出如何解决这个问题:http://forums.fedoraforum.org/archive/index.php/t-85365.html http://forums.fedoraforum.org/archive/index.php/t-85365.html该页面上的最后一条评论。

或者我这样做的另一个词:

nano /etc/hosts

在该文件中我更改了主机的顺序

127.0.0.1 my_ip localhost myhostname 

保存,完成。 打开你的测试php文件,没有任何504错误,并且emails是你在邮件功能中提到的电子邮件的收入。 正如我所说,我是一个新手,这可能对你不起作用,但无论如何对我有用。当然,这不是最终配置。希望您觉得它有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mail() 在新服务器上不起作用 的相关文章

随机推荐

  • 使用 bootstrap 无法在 angularjs 中打开模式窗口

    这是我的 app js 文件 const app angular module CurseTransport ui router ui bootstrap ngMessages raceModule app config stateProv
  • Azure函数应用程序-在执行和间歇性运行的旧代码之间共享全局变量

    目前 我在 Azure 函数应用程序中面临两个问题 我已提供以下详细信息 1 全局变量内容在执行之间共享 我使用了并发字典 它是一个全局变量 私有的和静态的 该变量在队列触发器中使用 private static readonly Conc
  • iphone开发:验证来自https url的证书信息

    当用户使用网络浏览器 Safari Chrome等 连接到 https url 时 例如 https encrypted google com 则用户可以获得有关证书相关的信息到这样的 https url 也就是说 在连接到url http
  • 使用 HTML 表单和 PHP 更新 MySQL 数据库字段数据

    所以我试图使用 html 表单和一些 PHP 代码更新数据库字段 但我无法让它工作 它不会抛出任何错误 但不会更新该字段 我不确定它是否因为我也回显该字段网页 它似乎所做的就是打印失败消息 HTML
  • MSSQL - 将一个字段拆分为 3 个字段

    我有一个由 1 列组成的结果集 在本例中为 2 行 单列 ProductDescription 是一个 varchar 字段 其中包含 3 条信息 我没有设计它 我需要将这三条信息分成 3 个使用查询的附加字段 before Product
  • 在Bootstrap组件中单独加载

    我正在开发一个涉及许多开发人员的大型 Web 项目 我想精简 Bootstrap3 的包并仅保留我们正在使用的内容 基本上 这个想法是在页面加载到浏览器中时减少任何额外的开销 所以我可以通过两种方法来做到这一点 我也可以 a 从库中删除任何
  • 如何使用 lambda 表达式创建扩展方法

    目前我正在创建一个接受参数的扩展方法 使用下面的示例 如何使用 lambda 表达式对其进行转换 public static decimal ChangePercentage this IEnumerable
  • 根据前缀对目录中的文件进行分组

    我有一个包含图片的文件夹 文件夹 1 Files ABC 138923 ABC 3223 ABC 33489 ABC 3111 CBA 238923 CBA 1313 CBA 1313 DAC 38932 DAC 1111 DAC 1389
  • 使用 Microsoft Graph API 获取 SharePoint Online 团队网站

    我正在尝试访问组织的 SharePoint 团队网站 我使用 Microsoft Graph API 因为它是 Office 365 最完整的 API 我了解如何获取访问令牌以及如何使用它来发出请求 我知道它有效 因为我可以获得组列表 但是
  • 获取ejs模板中的url参数

    我试图根据 URL 参数创建一个 ejs 条件 例如 如果测试参数存在于 localhost 3000 page test 则显示一个 div 否则不显示它 我的 ejs 模板看起来像这样 div class row div div div
  • 如何捕获事件调度线程 (EDT) 异常?

    我正在使用一个名为MyExceptionHandler实现Thread UncaughtExceptionHandler处理我的项目中的正常异常 据我了解 这个类无法捕获 EDT 异常 所以我尝试在main 处理EDT异常的方法 publi
  • jQuery 测试 element1 是否是 element2 的后代

    有谁知道一种好方法来测试存储在 var 中的一个元素是否是另一个也存储在 var 中的元素的后代 我不需要element1 isChildOf selector 这很容易 I need element1 isChildOf element2
  • 从 kafka-Spark-Streaming 读取数据时获取空集

    大家好 我是 Spark Streaming 的新手 我正在尝试读取 xml 文件并将其发送到 kafka 主题 这是我的 Kafka 代码 它将数据发送到 Kafka console consumer Code package org a
  • 结合模板和`ConfigParser`

    我有一个名为的模板文件foo cfg Box box active box activate resolution tracker active true box api key box api key box api secret box
  • PHP:通过 cronjob 发送电子邮件并设置每分钟发送的电子邮件量

    我有一个用于发送群组电子邮件的程序 我为此程序设置了每分钟一个玉米作业 并设置每 2 次 分钟执行一次 并检查现在的时间是否与我在数据库中定义的计划时间匹配 如果为 true 程序将运行并发送电子邮件 否则 nth 问题是我想动态设置用户每
  • Android数据绑定与Guava冲突导致ProGuard错误

    在启用 ProGuard 的情况下编译 Android 应用程序时 出现以下错误 Warning library class android databinding tool util SourceCodeEscapers 1 extend
  • Swift:生成(Swift)字符数组

    简单的问题 希望我正在尝试生成一个简单的字符数组 类似于 trying to do something like this pseudo code let letters Character map 0 lt 26 i in a i 并尝试
  • Django 中的cache.fetch?

    Django 缓存有类似Rails 的cache fetch 的方法吗 http api rubyonrails org classes ActiveSupport Cache Store html M001023 http api rub
  • 在 Objective-C 中,main 之前调用了什么?

    在 Objective C 中 main 之前调用了什么 例如 我假设 Objective C 中的所有元类都在 main 之前实例化 并且调用它们的加载 初始化方法 全局常量等 还有什么 这有记录在任何地方吗 A load作为应用程序中任
  • mail() 在新服务器上不起作用

    可能这是一个愚蠢的问题 但我找不到 php 邮件功能不起作用的原因 我在 debian squeeze 上有一个 nginx 服务器 我最近搬到了它 我尝试了简单的邮件执行 但它返回 false if mail email protecte