mail() php sendmail 发送到 gmail 不起作用

2023-12-10

乌班图20.04 发送邮件 PHP 7.4 SPF DKIM1 DMARC1 全部设置正确

尝试这个:

<?php
$to      = '[email protected]';
$subject = 'some subject testing object';
$message = 'hello, this is un message';
$headers = 'From: "Something here" <[email protected]>' . "\r\n" .
    'Reply-To: "Reply to" <[email protected]>' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

var_dump(
mail($to, $subject, $message, $headers)
);
?>

显然,这个输出是正确的,并尝试在日志中查看发生了什么。这之前在 ubuntu 16.04 中有效。升级后我必须在 VPS 中再次设置邮件服务器。

Aug 30 13:59:52 vps229XXX sendmail[678555]: 27UDxqF5678555: from=www-data, size=287, class=0, nrcpts=1, msgid=<[email protected]>, relay=www-data@localhost
Aug 30 13:59:52 vps229XXX sm-mta[678556]: 27UDxqa4678556: from=<[email protected]>, size=520, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Aug 30 13:59:52 vps229XXX sendmail[678555]: 27UDxqF5678555: [email protected], ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30287, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (27UDxqa4678556 Message accepted for delivery)
Aug 30 13:59:53 vps229XXX sm-mta[678558]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1.3, verify=FAIL, cipher=TLS_AES_256_GCM_SHA384, bits=256/256
Aug 30 13:59:53 vps229XXX sm-mta[678558]: 27UDxqa4678556: to=<[email protected]>, ctladdr=<[email protected]> (33/33), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=120520, relay=gmail-smtp-in.l.google.com. [172.253.122.27], dsn=5.0.0, stat=Service unavailable
Aug 30 13:59:53 vps229XXX sm-mta[678558]: 27UDxqa4678556: 27UDxra4678558: DSN: Service unavailable
Aug 30 13:59:53 vps229XXX sm-mta[678558]: 27UDxra4678558: to=<[email protected]>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30000, dsn=2.0.0, stat=Sent

在日志中我们已经看到了这一点。我已经检查了谷歌,问题似乎出在 SPF1,但我也允许了 VPS 域,但不起作用。


在看到 mail() php 手册中的一些选项后,我发现有一种方法可以手动设置域发件人。这不是最好的方法,但 gmail 的补丁现在可以使用:

邮件($to, $subject, $message, $headers, "[电子邮件受保护]")

邮件和“-f”之间的空格是它的目的。此后,GMail 不再退回我的邮件。邮件变成垃圾邮件,这是另一场斗争,但现在它们变成了垃圾邮件。

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

mail() php sendmail 发送到 gmail 不起作用 的相关文章

  • PDO 连接字符串:最好的方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想使用 php pdo 制作一个后端应用程序 我发现了很多不同的方法来处理 PDO 连接字符串 我想知道使用 pdo 执行连接字符串的最佳方法
  • 使用 google 检查 url,安全 = 活动

    如何检查 url 是否被 google 显示 Example https www google com search q redtubex xxx safe active Code input http www example com in
  • Jpgraph:如何在php中设置组条形柱形图的标签

    这是我的 jpgraph 演示代码
  • 检测图像是否损坏或损坏

    我需要以编程方式检查用户在我的应用程序上选择作为壁纸的图像是否已损坏或损坏 基本上我为用户提供了选择自己的图像作为壁纸的选项 现在 当图像加载时 我只想检查它是否已损坏 如果您正在寻找 PHP 解决方案而不是 javascript 解决方案
  • 检测 .htaccess 中对 php_value / php_flag 的支持以抑制错误 - PHP CGI 模式 - mod_php

    I use php value and php flag规则在 htaccess例如 php value upload max filesize 100M 但是 当服务器在 CGI 模式而不是 Apache 模式下运行时 这会导致错误 而我
  • Yii2 从 MySQL 中的表登录的分步指南

    我开始在 Yii2 中迈出第一步 到目前为止 我已经能够编写一个应用程序并将数据库中的表连接到它 就像我在 Yii1 中学到的那样 该表是contacts我的创建视图中的表单将数据发送到数据库 没有任何问题 问题是我只能在 Yii2 内置的
  • 升级到 Yosemite 后 Apache 配置损坏

    昨天我升级到 Yosemite 现在我的 Web 开发本地配置不再起作用 我设法在下面设置了一个 userdir Users user public html我可以通过以下方式访问所有网站localhost user websitename
  • 如何使用 Libsodium-PHP 加密/解密 AES

    我需要用 PHP 加密 解密数据 我对此完全陌生 但是我读到 Libsodium PHP 是 AES 加密的最佳工具 就像我研究过的其他 PHP 加密库一样 Libsoduim PHP 似乎几乎没有提供如何使用该库的文档 我能够找到 任何有
  • 将 WordPress 的登录/注册页面重定向到自定义登录/注册页面

    我有一个网站 有一个用户系统 我想将 WordPress 的用户系统集成到该网站的用户系统中 但我仍然想使用该网站的注册 登录页面 我不希望任何人能够使用 Wordpress 的登录或注册表单登录或注册 相反 当他们尝试访问 Wordpre
  • WordPress 子主题 style.css 不起作用

    我创建了一个与父主题格式相同的文件结构 我的父主题称为 Alpine Alpine 中有一个functions php 和style css 文件 似乎没有任何其他 style css 文件 我创建了一个名为 Alpine child 的目
  • 在 Symfony 中重定向之前访问调试(分析器)信息

    提交表单后 我通常将用户重定向到另一个页面 表单本身除外 因此我丢失了配置文件 调试信息 如日志 我的意思是 单击 调试工具栏 后 我会获得有关重定向后请求的信息 但我确实知道 Symfony 保留有关上一页的信息 我的意思是它不会忘记它
  • PHP - 为什么使用 Guzzle 而不是 cURL?

    在我的应用程序中 我最初开始使用 cURL 从各种 API 检索数据 今天 我尝试使用 Guzzle 来完成同样的任务 到目前为止 cURL 和 Guzzle 似乎都工作得同样好 判断依据Github https github com gu
  • 如何从 foreach(PHP) 中只获取一个结果

    该代码循环一个数组并显示用户的所有视图 现在情况发生了变化 我只需要显示 foreach 循环的一个结果 我怎么做 table class report edits table thead tr class dates row td div
  • 在php中用逗号替换空格和换行符

    我搜索过但找不到任何有帮助的东西 所以 我有一堆数据 我基本上只需要在它们之间添加逗号 这些数据都来自记录 所以它的形式如下 13 566 888 958 898 我需要像这样输出 13 566 888 958 898 如果我可以将任意 2
  • 在高负载站点中使用 PHP 的策略

    在你回答这个问题之前 我从未开发过任何足够流行的东西来达到高服务器负载 把我当作 叹气 一个刚刚登陆地球的外星人 尽管我了解 PHP 和一些优化技术 我正在开发一个工具PHP如果效果好的话 可以吸引相当多的用户 然而 虽然我完全有能力开发该
  • 电子邮件通讯未正确呈现

    我是 CSS 和 HTML 新手 我有一个包含 HTML 和 CSS 代码的电子邮件模板 我在新闻通讯模板的右上角放置了一个粉色圆圈框 http www pedersenshotell se newsletter http www pede
  • Python:如何访问 Lotus Notes 8.5 Inbox 来阅读电子邮件

    我想用 python 创建一个脚本 从 Lotus Notes 8 5 读取电子邮件 然后在 jira 中为每封电子邮件创建一个问题 但当我尝试从 Lotus 读取邮件时 它会返回此错误 Traceback most recent call
  • 如何在 PHP 中去除字符串中的所有空格? [复制]

    这个问题在这里已经有答案了 我怎么能够strip remove all spaces of a string in PHP 我有一个string like string this is my string 输出应该是 thisismystr
  • 开发中的 Laravel 和视图缓存——无法立即看到变化

    我和一些朋友决定开始一个项目 我们偶然发现了 Laravel 并认为它可能是一个很好的工具 我们开始在本地使用它来开发一些页面 并注意到一些奇怪的事情 当我们用不同的信息更新视图时 大约需要 5 到 10 分钟视图信息才会发生变化 这就像
  • 无法使用 javascript 建立与安全 Websocket 服务器的连接

    我的开发环境是这样的 操作系统 微软Windows 10 PHP 框架 Laravel 8 0 PHP 版本 7 4 Websocket 服务器 cboden ratchet 0 4 3 WAMP 服务器 3 2 0 Apache 2 4

随机推荐

  • 集合的顺序是否像 python3.6 中的字典一样

    由于变化dictPython 3 6 中的实现现在默认是排序的 做set现在也维持秩序了吗 我找不到有关它的任何信息 但由于这两种数据结构在幕后工作方式非常相似 我认为情况可能如此 我知道没有任何承诺dict在所有情况下都必须订购 但大多数
  • 如何使用 Prettier 禁用元素标签中的属性破坏

    我使用 Vue CLI 生成了一个新的 Vue 项目 对于 linter 选项提示 我选择 Prettier 如何禁用对新行的属性破坏 例如 这是我的标记
  • Android 11 范围存储权限

    我的应用程序使用提供的图像的文件路径Environment getExternalStorageDirectory 创建照片相册 但使用Android 11 我将无法直接访问文件 根据 Android 开发者文档 他们最近推出了MANAGE
  • 404、500 的自定义错误页面,但默认的 500 错误消息来自哪里?

    目前正在制作中 我收到以下文本 500 Internal Server Error If you are the administrator of this website then please read this web applica
  • 如何将 CUDA 编译为 llvm IR?

    我已经尝试了三天将 CUDA 内核编译为 llvm IR 但我无法做到 我已经改变了langoptions cpp并添加了CUDA 1 在构造函数中 但 clang 仍然给我 cuda 语法的错误消息 如 synchthreads 调用 我
  • 如何在 WordPress 中调整大小/访问原始图像?

    wordpress中的图片在哪里调整大小 在数据库中 在文件夹中 我将如何调整大小original图像 不创建新版本 我问这个问题是因为我上传了相当多的图像 这些图像太大并且会减慢 WordPress 网站上的加载时间 并且我想调整它们的大
  • 通过捕获括号进行正则表达式分割 - 浏览器支持:

    看这个样本 gt 1 2 3 4 5 split 结果 1 2 3 4 5 但看看这个样本 gt 1 2 3 4 5 split 结果 1 2 3 4 5 From MDN 如果分隔符是包含捕获的正则表达式 括号 那么每次匹配分隔符时 结果
  • PyQt 中的 os.walk 类似物

    在我可以继续实现递归目录 文件搜索并对某些任务进行一些过滤之前 我想知道 Qt PyQt 是否有类似的os walk 主应用程序是 PyQt4 中的 GUI 应用程序 所有文本字段都在QStrings 和路径对象 文件 目录 使用QFile
  • 使用 setVisible(false) 打印 JFrame

    我用 2 创建了一个 Swing 应用程序JFramewindows 我想将第一帧作为主页 我在第一帧中设置打印按钮来打印第二帧 如何打印第二帧frame setVisible false 我该如何解决 我把我的代码放在下面 package
  • Mercurial 中的自定义修订属性?

    我可以为我的 hg 存储库设置自定义属性 以便我可以存储 检索每个修订版的值吗 例如 提交时东京的天气等 git 也一样吗 Mercurial 没有像 Subversion 那样内置管理属性的方式 不过 它确实有一些基础设施 您必须编写一个
  • 创建 Javascript RegExp 以查找 HTML/php 模板中的开始标签

    我正在尝试编写一个 Javascript HTML php 解析器 它将从 HTML php 源中提取所有开始标签 并返回标签和属性的类型及其值 同时监视是否应从以下位置评估值 属性 静态文本或 php 变量 问题是当我尝试编写 Javas
  • R 中系统函数的共享库问题

    我在 ubuntu 16 04 上工作 在 docker 容器内 libreoffice 已安装并且工作正常 我可以通过命令行使用它 root 07ff3fbcb3cd libreoffice version LibreOffice 5 2
  • 自动装配空指针异常

    我有一个过滤器将请求保存到数据库 但我在自动装配字段上收到 NullPointerException inboundRequestLogStore 我已经尝试过来自的建议在 Filter bean 类中使用一些 bean I ve adde
  • std::sort 获取 std::bad_alloc

    class RankList public struct RankListComparator bool operator const std pair
  • dotnet ef 数据库更新时出现与网络相关或特定于实例的错误

    我正在学习使用 Visual Studio 构建 ASP NET Core MVC 应用程序this教程 在里面 添加模型 步骤我创建了一个新的单独项目 如说明中所写 但是当我运行dotnet ef database update 出现以下
  • Java中可以通过索引(indexes)访问字符串吗?

    例如 String word schnucks word 1 x would this access the C and turn it to an x 如果上面的代码不正确 除了将其从字符串转换为字符数组之外 还有其他方法来访问各个索引吗
  • 打印 n 对括号的所有有效组合的算法

    我正在解决问题陈述中提出的问题 我知道我的解决方案是正确的 运行程序 但我很好奇我是否正确分析了我的代码 如下 def parens num return if num 1 paren arr parens num 1 each do pa
  • 从特定帧和硬编码代理的 Atari 游戏中提取状态空间?

    我正在尝试从 Amidar 中提取状态空间 以便为某些特定目的对代理进行硬编码 例如 我希望代理在敌人距离 2 个单元格时就下降 或者上升直到他们撞到墙上然后再次下降 但是 我不太确定如何提取特定帧的状态空间 或者一般情况下的该实例 以及如
  • 使用 sed 删除命名空间前缀

    我想转换这段xml
  • mail() php sendmail 发送到 gmail 不起作用

    乌班图20 04 发送邮件 PHP 7 4 SPF DKIM1 DMARC1 全部设置正确 尝试这个