PHP SMTP 电子邮件错误‘354结束数据‘data: 354 Enter mail, end with .

news/2024/10/19 11:43:26/

荆轲刺秦王

公司的邮箱发送验证码功能 之前一直正常工作 但是最近停止了 查看代码发现邮件类使用的是codeigniter框架的Email class

原有的代码是:
/application/config.php

php">'mail'					=>['protocol'	=>	'smtp','smtp_host'	=>	'mail.baidu.com','smtp_user'	=>	'root','smtp_pass'	=>	'root'],

common.php 公共函数类:

php">function send_email($to, $subject, $message,$from='',$title="通知",$priority=3,$file_url='',$cc='',$bcc='') {$config = config('mail');if(get_client_ip()=='127.0.0.1' && IS_WIN){$to = 'yaowei.liu@chipwealth.com';}if(strlen($from)==0){$from='ad@chipwealth.com';}if(strlen($title)==0){$title="通知";}$email = new Email($config);$email->from($from, $title);$email->to($to);$email->set_priority($priority);if($cc){$email->cc($cc);}if($bcc){$email->bcc($bcc);}$email->attach($file_url);$email->subject($subject);$email->message($message);if($to != 'aa@aa.com'){$email->send();/**$res = $email->print_debugger();var_dump($res);exit();**/}}

Email类使用的是 codeigniter 的Email类

详情见:Email Class — CodeIgniter 4.4.5 documentation

php">/*** CodeIgniter Email Class** Permits email to be sent using Mail, Sendmail, or SMTP.** @package		CodeIgniter* @subpackage	Libraries* @category	Libraries* @author		EllisLab Dev Team* @link		https://codeigniter.com/user_guide/libraries/email.html*/

收到的错误代码:

php">email_attachment_missing
220 mail.baidu.com ESMTP Tue, 30 Apr 2024 09:13:22 +0800
hello: 250-mail.baidu.com Hello hr-t.baidu.com [192.9.230.201], pleased to meet you
250-ETRN
250-AUTH LOGIN PLAIN
250-8BITMIME
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-STARTTLS
250 SIZE 419430400
from: 250 2.1.0 Sender OK
to: 250 2.1.5 Recipient OK
data: 354 Enter mail, end with .email_smtp_error
email_send_failure_smtp
User-Agent: SentCMS
Date: Tue, 30 Apr 2024 09:09:44 +0800
From: =?UTF-8?Q?=E8=8A=A2=96=E=E7=AE=A1=E9=9A=E7=9F=A5?= <hr@baidu.com>
Return-Path: <hr@baidu.com>
To: yaowei.liu@baidu.com
Subject: =?UTF-8?Q?=E8=96=E8=B5==E6=AC=A1=E9=AA=E8=AF=81?= =?UTF-8?Q?=E9=AA=8C=9A=E7==A5?=
Reply-To: <hr@baidu.com>
X-Sender: hr@baidu.com
X-Mailer: SentCMS
X-Priority: 3 (Normal)
Message-ID: <6638062@baidu.com>
Mime-Version: 1.0Content-Type: multipart/alternative; boundary="B_ALT_6680e266"This is a multi-part message in MIME format.
Your email application may not support this format.--B_ALT_663044d80e266
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit验证码: 879159 ,有效时间:3分钟,请尽快填写!--B_ALT_663044d80e266
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable=E88=B5=84=E8=AF=81=E7=A0=81: 879159 ,=E6=9C=86=95=88=
=E6=B6=97=B4:3=E5=89=92=9F,=E8=AF=B7=E5=B0=B=E5=A1=AB=
=E5=98=21--B_ALT_663046--

需要注意的是,如果想打印bug记得用email类的:
 

php">$email->print_debugger();

这个代码以前曾正常工作,但是现在却不能正常工作

最后发现是因为没有设置:

php">$config['crlf']     = "\r\n";
$config['newline']  = "\r\n";

那么在我的代码中 我就需要设置email类的config

php">'mail'					=>['protocol'	=>	'smtp','smtp_host'	=>	'mail.baidu.com','smtp_user'	=>	'root','smtp_pass'	=>	'root','crlf'      =>  "\r\n",'newline'   =>  "\r\n",],

然后更新代码,就发现可以正常发送邮件了。这个问题似乎是因为 Codeigniter默认情况下没有这样做。


http://www.ppmy.cn/news/1450378.html

相关文章

HaLo-NeRF:利用视觉和语言模型对场景的精准定位和细粒度语义理解

包含大量摄影师拍摄的照片的互联网图像集有望实现对大型旅游地标的数字探索。然而&#xff0c;先前的工作主要集中在几何重建和可视化上&#xff0c;忽略了语言在为导航和细粒度理解提供语义界面方面的关键作用。 项目&#xff1a;HaLo-NeRF: Learning Geometry-Guided Semant…

ASP.NET网络商店设计与实现

摘 要 本文首先系统地研究了开发电子商务网站的背景和意义&#xff0c;分析了当今B2C电子商务交易的网站特点和共性&#xff0c;从而得出设计本网站的思路和方法。接着介绍了实现系统开发的ASP.NET和IIS5.0环境&#xff0c;数据库用ACCESS实现。同时简要介绍了以上工具的功能…

Debian 12 tomcat 9 catalina 日志信息 中文显示乱码

目录 问题现象 解决办法&#xff1a; 1、设定Debian locale 2、设定catalina.sh utf8字符集 问题现象 Debian 12 linux操作系统中&#xff0c;tomcat 9 catalina 启动日志输出 中文乱码 解决办法&#xff1a; 1、设定Debian locale 先确保系统本身就支持中文的 Debian …

SpringBoot使用git-commit-id-maven-plugin打包

简介 git-commit-id-maven-plugin 是一个maven 插件&#xff0c;用来在打包的时候将git-commit 信息打进jar中。 这样做的好处是可以将发布的某版本和对应的代码关联起来&#xff0c;方便查阅和线上项目的维护。至于它的作用&#xff0c;用官方说法&#xff0c;这个功能对于大…

每日OJ题_DFS爆搜深搜回溯剪枝⑧_力扣980. 不同路径 III

目录 力扣980. 不同路径 III 解析代码 力扣980. 不同路径 III 980. 不同路径 III 难度 困难 在二维网格 grid 上&#xff0c;有 4 种类型的方格&#xff1a; 1 表示起始方格。且只有一个起始方格。2 表示结束方格&#xff0c;且只有一个结束方格。0 表示我们可以走过的空…

基于缓存注解的时间戳令牌防重复提交设计

文章目录 一&#xff0c;概述二&#xff0c;实现过程1、引入pom依赖2、定义缓存管理3、时间戳服务类4、模拟测试接口 三&#xff0c;测试过程1&#xff0c; 模拟批量获取2&#xff0c; 消费令牌 四&#xff0c;源码放送五&#xff0c;优化方向 一&#xff0c;概述 API接口由于…

【华为】VRRP的实验配置

【华为】VRRP的实验配置 实验需求拓扑LSW 3LSW 1基础配置VRRPDHCPOSPF默认路由 LSW 2基本配置VRRPDHCPOSPF默认路由 R1ISPPC1PC2 测试上网VRRP实验需求监视端口 配置文档 实验需求 ① 该公司有市场部和技术部&#xff0c;分别划在VLAN 10 和 VLAN 20里面 ② 此时为了网络的稳…

基于SpringBoot+Vue的旅游网站系统

初衷 在后台收到很多私信是咨询毕业设计怎么做的&#xff1f;有没有好的毕业设计参考?能感觉到现在的毕业生和当时的我有着同样的问题&#xff0c;但是当时的我没有被骗&#xff0c;因为现在很多人是被骗的&#xff0c;还没有出学校还是社会经验少&#xff0c;容易相信别人。…