使用 Swift 邮件程序发送邮件时出现错误 501

2024-05-23

<?php

  require_once '../plugin/swift/lib/swift_required.php';

  // Create the Transport
  $transport = Swift_SmtpTransport::newInstance('pod51003.outlook.com',587,'tls')
    ->setUsername('[email protected] /cdn-cgi/l/email-protection')
    ->setPassword('pw')
    ;

  // Create the Mailer using your created Transport
  $mailer = Swift_Mailer::newInstance($transport);

  // Create a message
  $message = Swift_Message::newInstance('Wonderful Subject')
    ->setFrom(array('[email protected] /cdn-cgi/l/email-protection' => 'John Doe'))
    ->setTo(array('[email protected] /cdn-cgi/l/email-protection', '[email protected] /cdn-cgi/l/email-protection' => 'A name'))
    ->setBody('Here is the message itself')
    ;

  // Send the message
  $result = $mailer->send($message);

  printf("Sent %d messages\n", $result);

?>

结果是:



Fatal error: Uncaught exception 'Swift_TransportException' 
with message 'Expected response code 250 but got code "501", with message "501 5.5.4 Invalid domain name "' 
in C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\AbstractSmtpTransport.php:422 

Stack trace: 
#0 C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\AbstractSmtpTransport.php(306): Swift_Transport_AbstractSmtpTransport->_assertResponseCode('501 5.5.4 Inval...', Array) 
#1 C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\EsmtpTransport.php(224): Swift_Transport_AbstractSmtpTransport->executeCommand('HELO [::1]??', Array, Array) 
#2 C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\AbstractSmtpTransport.php(323): Swift_Transport_EsmtpTransport->executeCommand('HELO [::1]??', Array) 
#3 C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\EsmtpTransport.php(272): Swift_Transport_AbstractSmtpTransport->_doHeloCommand() 
#4 C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\AbstractSmtpTransport.php(124) in C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\AbstractSmtpTransport.php on line 422
  

实际上我直接按照教程进行操作,那么我的代码中是否遗漏了任何内容? SMTP 服务器信息有效。

外部 SMTP 设置:
服务器名称:pod51003.outlook.com- 您还可以查看下面有关如何确定服务器名称的注释
港口:587
加密方式:TLS

添加行后: 还有另一个错误:



Warning: stream_socket_enable_crypto() [streams.crypto]: this stream does not support SSL/crypto in C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\StreamBuffer.php on line 102

Fatal error: Uncaught exception 'Swift_TransportException' 
with message 'Unable to connect with TLS encryption' 
in C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\EsmtpTransport.php:283 

Stack trace: 
#0 C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\AbstractSmtpTransport.php(124): Swift_Transport_EsmtpTransport->_doHeloCommand() 
#1 C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Mailer.php(79): Swift_Transport_AbstractSmtpTransport->start() 
#2 C:\xampp\htdocs\fyp\mail\send.php(26): Swift_Mailer->send(Object(Swift_Message)) 
#3 {main} thrown in C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\EsmtpTransport.php on line 283
  

尝试在此处添加此行,如下所示:

// Create the Transport
$transport = Swift_SmtpTransport::newInstance('pod51003.outlook.com',587,'tls')
->setUsername('[email protected] /cdn-cgi/l/email-protection')
->setPassword('pw')
;

// ADD THIS LINE
$transport->setLocalDomain('[127.0.0.1]');

// Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);

根据您对 HELO 命令的响应,我猜测您的 SMTP 服务器不喜欢/理解 IPv6。

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

使用 Swift 邮件程序发送邮件时出现错误 501 的相关文章

  • 如何在 PHP 5.6 中通过 php.ini 设置“verify_peer_name=false”SSL 上下文选项

    案例 我想打开 SSL 连接localhost而 SSL 证书是 FQDN 的问题 问题 没有进行特殊处理就行 下面的程序失败并显示以下消息 PHP Warning stream socket enable crypto Peer cert
  • 让我的函数访问外部变量

    我外面有一个数组 myArr array 我想让我的函数访问其外部的数组 以便它可以向其中添加值 function someFuntion myVal some processing here to determine value of m
  • 学说 dbal querybuilder 作为准备好的语句

    我正在尝试创建一个 Doctrine DBAL 查询生成器对象并在其中设置一个参数 使用 postgres db dbal 2 3 4 原则 connection this gt em gt getConnection qb connect
  • 如何使用正则表达式将多个
    标签替换为一个
    标签?

    I want br br 变成 br 正则表达式的模式是什么 注 br 标签可以连续出现两次以上 html preg replace br gt s i br html 这将捕获任何组合 br br or br 它们之间有任意数量或类型的空
  • Laravel 5 使用语句[重复]

    这个问题在这里已经有答案了 第一次使用 Laravel 5 我了解命名空间的使用以及为什么需要使用它们 我不明白的是为什么我需要添加如下所示的 use 语句 在控制器的顶部 use Session use Input use Respons
  • Codeigniter 滚动分页

    我正在使用 jquery 插件滚动分页在 codeigniter 中 我面临的问题是我的循环不会终止 并且也无法给出准确的结果 这是我的html code div div div class image box style margin l
  • 如何使用 PHP 从 Web 根目录外部提供文档?

    为了安全起见 我将一组文件和文件夹移动到 apache 服务器上的 Web 根目录之外 然后动态地为它们提供服务 这似乎比两种选择更好 让它们可以通过网络访问 只需创建一个 php 登录页面 该页面会添加到每个文件的前面 问题是它们并不都是
  • 使用 PhpSpreadsheet PHP 设置单元格边框样式

    我使用 PhpSpreadsheet 来读取或写入 Excel 文件 我想向我的 Excel 添加边框样式 所以我使用了以下代码
  • 属性“tablename.title”未定义

    我是伊比 我想做的是上传图像 照片 以及具有更新功能的数据库中的路径条目 我已点击此链接 http www yiiframework com wiki 349 how to upload image photo and path entry
  • 命令“tinker”未定义

    从 5 3 升级到 5 4 后 请按照说明操作 为了继续使用 Tinker Artisan 命令 您还应该安装 laravel tinker 软件包 composer require laravel tinker 安装软件包后 您应该添加
  • Zend Framework:检查 Zend View Placeholder 是否已设置

    如何在回显之前检查 Zend View 占位符是否已设置 因为我想在输出之前在它前面添加 I tried echo isset this gt placeholder title this gt placeholder title 但我得到
  • str_getcsv到php中的多维数组

    我有这样的 csv 值 csv data test this thing hi there this is cool dude have fun 我想获取整个 CSV 字符串并将其读入多维数组 以便得到 array array test g
  • 如何从谷歌地图中的纬度和经度获取地址位置? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 所以我有纬度和经度就像44 4647452 and 7 3553838 我需要获得如下地址 米兰 意大利 str 肯尼迪 89 我怎样才能
  • 如何检查php字符串是否只包含英文字母和数字?

    在 JS 中我使用了这段代码 if string match A Za z0 9 但我不知道如何在 PHP 中做到这一点 Use 预匹配 http php net manual en function preg match php if p
  • Python 结构的 PHP 替代品

    我很高兴在我的 Python 项目中使用 Fabric 进行部署 现在我正在从事一个更大的 PHP 项目 想知道是否有类似 PHP 的 Fabric 之类的东西 唔 为什么这有关系 Fabric 只是 python 脚本 所以它与项目语言无
  • PHP Amazon SDK,S3 存储桶访问被拒绝

    我第一次尝试使用 PHP AWS SDK aws aws sdk php 3 19 来使用 S3 我创建了一个存储桶 myfirstbucket jeremyc 我制定了一项政策 Version 2012 10 17 Statement E
  • PHP - 获取类公共变量?

    请考虑下面的代码 class A public function construct class B extends A public a a public b b public c c 如何从父类中获取 B 类的公共变量而不确切知道它们是
  • WordPress - pre_get_posts 代替页面上的 query_posts

    我的情况有点复杂 我会尽量简洁地解释一下 我目前正在使用query posts修改我网站上自定义页面上的主查询 据我所知 它工作得很好 尽管我已经读到 由于多种不同的原因 使用 query posts 是不好的做法 那么 我为什么要使用qu
  • 优化我的表现

    我正在开发一个使用 Zend Framework 1 11 Doctrine 2 一些 Symfony 2 组件以及其他工具和库的项目 我正在尝试使用 Xdebug 和 Webgrind 优化性能 我已经发现了一些瓶颈 例如解析 Ini 配
  • PHP:使用 UTF-8 的 strpos 和 substr

    假设我有一个很长的 UTF 8 编码字符串 并说我想检测是否 var存在于该字符串中 假设 var始终是简单的字母或 ASCII 字符数字 例如 hello123 我不需要使用mb strpos or iconv strpos正确的 因为只

随机推荐