phpmailer 相关问题

PHPMailer是一个PHP电子邮件传输类。 PHPMailer旨在与其他服务器直接通信(与PHP的本机mail()函数不同)。与[php]标签一起使用

phpmailer 无法发送邮件

其他一切都好,但由于某种原因我无法发送电子邮件: 其他一切都好,但由于某种原因我无法发送电子邮件: <?php $msg=""; use PHPMailer\PHPMailer\PHPMailer; include_once "PHPMailer/PHPMailer.php"; include_once "PHPMailer/Exception.php"; if(isset($_POST['submit'])) { $subject=$_POST['subject']; $email=$_POST['email']; $message=$_POST['message']; $mail= new PHPMailer(); $mail->AddAddress('[email protected]', 'First Name'); $mail->SetFrom('[email protected]','admin'); $mail->Subject = $subject; $mail->isHTML(true); $mail->Body=$message; if($mail->send()) $msg="Your rmail msg has been send"; else $msg="mail msg has not been send"; } ?> $mail->send()功能始终转到else部分。我做错了什么? 您没有声明发送邮件的内容,这可能是原因之一。 PHPMailer 实际上并不发送电子邮件,它的设计目的是连接到您的 Web 服务器上可以发送电子邮件的东西,例如:sendmail、postfix、到邮件中继服务的 SMTP 连接等,因此您可能需要声明在您的设置中。 例如,如果您使用网络服务器内置的 sendmail,请在 之后添加此内容 $mail = new PHPMailer; // declare what mail function you are using $mail->isSendmail(); PHPMailer 还支持其他几个选项,例如 SMTP 和 gmail。请参阅这组最适合您的场景的示例:https://github.com/PHPMailer/PHPMailer/tree/master/examples 另外,这是我的设置方式,不确定 require 或 include_once 是否是最佳的,但我的安装效果很好。另外,我还添加了 SMTP 模块,以便通过 sendmail 使用该模块。 // require php mailer classes use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; // require php mailer scripts require 'src/Exception.php'; require 'src/PHPMailer.php'; require 'src/SMTP.php'; 这就是我个人安装 PHPMailer 的实际工作方式,通过 PHP 实例化,而不是通过 Composer 安装。我使用了 SO 上另一篇文章的答案 - 如何在没有作曲家的情况下使用 PHPMailer? 我相信始终使用花括号是良好的编码习惯。这是参考你的 if/else 语句。 除此之外,我在你的代码中没有看到任何直接跳出并指出问题区域的内容。 请确保所有 $_POST 变量都回显其预期值。 也回显您的消息,以确保它输出您的预期值。 您不希望这些参数中的任何一个为空。 PHPMailer 类具有错误处理功能。我建议您使用 try/catch 块来显示任何可能存在的错误并从那里排除故障。 您也可以使用$mail->ErrorInfo;。这将显示 $mail->send() 函数调用后生成的任何错误。我在我的答案中包含了这两个概念。 像这样: $msg=""; use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; //<---Add this. //Switch your includes to requires. require "PHPMailer/PHPMailer.php"; require "PHPMailer/Exception.php"; //require "PHPMailer/SMTP.php"; //If you are using SMTP make sure you have this line. if(isset($_POST['submit'])) { try{ $subject =$_POST['subject']; $email =$_POST['email']; $message =$_POST['message']; //$mail = new PHPMailer(); $mail = new PHPMailer(true); //Set to true. Will allow exceptions to be passed. $mail->AddAddress('[email protected]', 'First Name'); $mail->SetFrom('[email protected]','admin'); $mail->Subject = $subject; $mail->isHTML(true); $mail->Body = $message; if($mail->send()){ $msg="Your email msg has been send"; }else{ $msg="mail msg has not been send"; echo 'Mailer Error: ' . $mail->ErrorInfo; } }catch(phpmailerException $e){ echo $e->errorMessage(); } } 如果您使用 SMTP,您可以尝试使用 $mail->SMTPDebug 设置。可以为您提供一些额外的信息。检查 PHPMailer 文档以获取值及其属性。

回答 2 投票 0

配置WAMP服务器发送邮件

有没有办法为PHP配置WAMP服务器来启用mail()功能?

回答 7 投票 0

PHPMAILER 不发送且不给出错误

我试图让用户填写联系表格,然后将其发送到我的电子邮件。但由于某种原因它不起作用。我只是得到一个空白页面,没有错误消息或任何文本,并且电子邮件也...

回答 10 投票 0

PHPMailer 发送重复的电子邮件

问题:对于每个使用其电子邮件地址注册的用户,我都会收到三封重复的电子邮件。我的来宾列表被重复的电子邮件淹没,我不知道我的代码出了什么问题。

回答 9 投票 0

Laravel 不使用 AWS SES 发送邮件

我正在尝试使用 AWS SES 在我的 Laravel 项目中发送电子邮件。 错误消息不是很有帮助。 在 AWS SES 中,我验证了我的域和我使用的电子邮件地址的身份

回答 1 投票 0

PHP 邮件程序无法发送电子邮件

我正在使用PHPMailer发送带有验证码的电子邮件。当我尝试将其放入函数中并尝试提交表单时,电子邮件没有被发送。 我已使用有效的 Gmail ID

回答 2 投票 0

php - 警告:mail() 验证您的 SMTP 和 smtp_port 设置

我试图使用 html 和 php 制作一个工作联系表单,但是当我输入姓名、电子邮件和消息然后单击发送时,它显示此错误 我正在使用带有 php 的普通本地主机(在 cmd 中:$...

回答 1 投票 0

如何通过error_log函数将SMTPDebug = 3保存在日志文件中

我想将 SMTPDebug = 3,邮件错误保存到日志文件中。 下面的代码在 php 文件中使用,但在日志文件中显示为空白。 请建议如何在日志文件中存储 SMTP 调试信息。 if(!$mail->发送(...

回答 1 投票 0

无法使用 PHPMailer 和 cPanel Webmail 接收或发送电子邮件 [重复]

我在尝试通过 cPanel Webmail SMTP 发送电子邮件时遇到 PHPMailer 问题。电子邮件未发送,我尝试了各种配置。我已提供详细信息...

回答 1 投票 0

我正在使用 Composer,但我尝试过的任何方法都不起作用。 我尝试要求作曲家自动加载。 需要 BASE_URL.'assets/vendor/autoload.php'; 并使用命名空间 使用 PHPMailer\PHPMailer\PHPMail...

回答 3 投票 0

将phpMailer从v5.2.7升级到v6.8.0

我在Windows 11上使用最新版本的xmapp。我想将我的phpMailer升级到最新版本v6.8.0。我当前的版本是 v5.2.7,现在已经很旧了。 我已经安装了

回答 1 投票 0

phpmailer 不适用于波斯字母

我有一个问题,波斯语字母的主题打印如下: تØ3ت 我把Cherst改成utf-8但是问题没有解决 机身波斯字母没有问题,唯一的问题...

回答 3 投票 0

PHPMailer 提交表单后不发送两封电子邮件

我在提交表单后使用 PHPMailer 发送两封不同的电子邮件时遇到问题。问题是脚本回显“已创建”,但两封电子邮件均未发送。我是...

回答 1 投票 0

通过 PHP Mailer 使用实时服务器 SMTP 服务器发送电子邮件不起作用

我正在使用 PHPMailer v6 并尝试从共享服务器电子邮件发送邮件。 我的代码: require_once“供应商/autoload.php”; $mail = 新的 PHPMailer; $mail->SMTPDebug = 3; ...

回答 3 投票 0

PHPMailer 未发送到可变 mailto 地址

我正在使用 PHP Mailer 来自动执行密码重置功能(使用令牌),并且在传递数据时不会发送电子邮件。仅当我在地址中硬编码电子邮件时它才会发送

回答 2 投票 0

PHP Mailer 与 symfony 异步

我开发了一个系统,每个订单状态都会向客户发送一封电子邮件,但每次发送此电子邮件都会花费 5-15 秒的时间,因为这会锁定网站中该用户的新请求,直到...

回答 1 投票 0

PHP 8.2 和 PHPMailer 不会将电子邮件发送到 mailtrap 沙箱

我有MacBook M1,我用brew安装了php8.2和httpd。 我设置了 Mailtrap SMTP 沙箱,并测试了使用给定的 curl 请求发送电子邮件,效果很好。 我的 sendmail.php 代码看起来如何

回答 1 投票 0

PhpMailer 发送包含表单的电子邮件

亲爱的 Stackoverflow 好心人,我被困住了! 我让 PHPMailer 向自己发送一封 html 电子邮件 - 背景颜色有效。 但我无法在该电子邮件中插入表格。 可能是这样

回答 0 投票 0

使用 AWS 访问和密钥的 PHP 邮件程序问题

我在使用 php 邮件程序通过 AWS 访问和密钥发送邮件时遇到以下错误。 警告:您的 PHP 版本受到错误的影响,可能会导致消息损坏。要修复它,请...

回答 0 投票 0

PHPMailer 获取最后一条消息 ID 始终为空

我试图在 PHPMailer 发送电子邮件时获取最后一条消息 id。我的代码看起来像 $mail = new PHPMailer(true); 尝试 { $mail->SMTPDebug = 0; $mail->isSMTP(); ...

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.