Swiftmailer 配置:使用 gmail 发送邮件

2024-04-11

我可以使用 swiftmailer 从我的电脑发送电子邮件,但邮件未在服务器中发送。

我正在使用 swiftmailer 5.0.1。项目详细信息是,

  1. Netbeans 中的一个简单的 php 项目
  2. 迅捷邮递员 5.0.1
  3. 树枝1.13.1

我的代码是

public function init() {
        $this->username = '[email protected] /cdn-cgi/l/email-protection'; 
        $this->password = 'password';
        $this->host = 'ssl://smtp.gmail.com';
        $this->port = 465;
        $this->from = '[email protected] /cdn-cgi/l/email-protection';
        $this->subject = 'Company - contact';
        $this->body_part_type = 'text/html';
    }

public function send_email($from_name_add, $to_add, $fullname, $email, $mobile, $content) {
            $this->init();
            $transport = Swift_SmtpTransport::newInstance($this->host, $this->port)
                    ->setUsername($this->username)
                    ->setPassword($this->password);

            $mailer = Swift_Mailer::newInstance($transport);

            $message = Swift_Message::newInstance();
            $cid = $message->embed(Swift_Image::fromPath('../public_html/pic/logo.png'));
            $this->body = $this->renderEmailTemplate('email', $fullname, $email, $mobile, $content, $cid);
            $message->setSubject($this->subject)
                    ->setFrom(array('[email protected] /cdn-cgi/l/email-protection' => '' . $from_name_add))
                    ->setTo($to_add)
                    ->setContentType($this->body_part_type)
                    ->setBody($this->body);
            $result = $mailer->send($message);
            return $result;
        }

这段代码在我的电脑上运行良好。但是将此代码/项目上传到服务器后,邮件未发送。错误是,

    <br />
<b>Fatal error</b>:  Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host ssl://smtp.gmail.com [Connection timed out #110]' in /home/am***/lib/Swift/classes/Swift/Transport/StreamBuffer.php:259
Stack trace:
#0 /home/am***/lib/Swift/classes/Swift/Transport/StreamBuffer.php(64): Swift_Transport_StreamBuffer-&gt;_establishSocketConnection()
#1 /home/am***/lib/Swift/classes/Swift/Transport/AbstractSmtpTransport.php(115): Swift_Transport_StreamBuffer-&gt;initialize(Array)
#2 /home/am***/lib/Swift/classes/Swift/Mailer.php(80): Swift_Transport_AbstractSmtpTransport-&gt;start()
#3 /home/am***/controller/send_mail.php(54): Swift_Mailer-&gt;send(Object(Swift_Message))
#4 /home/am***/public_html/contact.php(43): send_mail-&gt;send_email('Am*** Inc', 'fe****@gma...', 'asdf', '[email protected] /cdn-cgi/l/email-protection', '111111111111', 'Testing mail')
#5 {main}
  thrown in <b>/home/am***/lib/Swift/classes/Swift/Transport/StreamBuffer.php</b> on line <b>259</b><br />

HINT:该服务器上已经有一个正在运行的php symfony项目,该项目可以成功发送邮件。

这是 symfony2 代码,

$message = \Swift_Message::newInstance()
                ->setSubject($sub)->setFrom($from)->setTo($to)->setContentType("text/html")
                ->setBody($this->renderView('FZAm***Bundle:Layout:mail.html.twig', array
                    ('name' => $this->fullname, 'mobile' => $this->mobile, 'email' => $this->email,
                    'content' => $this->content, 'time' => $this->sys_time, 'ip' => $userip,
                    'server_time' => date('Y-m-d H:i:s'))
        ));
try {
            $this->get('mailer')->send($message);
// catch and other follows. 

配置详细信息是,

mail_contact_from: [email protected] /cdn-cgi/l/email-protection
  mail_contact_to:   [email protected] /cdn-cgi/l/email-protection
  mail_contact_sub:   Contact info

我仅传递了此详细信息,所有设置均为默认设置。如果需要任何信息,请询问我,我会发布。

我从 symfony2 项目更改为这个普通的 php+swift+twig 的原因是我的主机只有 100mb,我需要上传更多图像。但symfony2占用的空间更大。


您的实时服务器似乎丢失了OpenSSL,因此您需要启用它才能使安全连接正常工作(即启用php_openssl模块)。另请检查这个问题 https://stackoverflow.com/questions/4846599/sending-email-using-php-gmail-and-swiftmailer-causes-ssl-related-error.

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

Swiftmailer 配置:使用 gmail 发送邮件 的相关文章

  • PHP 用星号替换所有字符

    假设我有一个字符串形式的密码 password thisisaplaintextpassword 我怎样才能把它变成下面的样子 password 我想通过电子邮件向用户发送他们的帐户详细信息 但不想发送整个内容 Use 字符串重复 http
  • PHP 文件上传帮助

    div align center div 这是我的代码
  • 使用 md5 加密的 PHP 和 Mysql 查询出现问题

    我使用普通的 php mysql 插入查询并使用 md5 加密密码 这是插入查询 sql mysql query INSERT INTO user username password role approved values usernam
  • Laravel - 停止并发访问记录

    在 Laravel 中 有什么方法可以停止同时与同一条记录交互 例如 如果用户 A 正在编辑一条记录 那么我同时需要阻止用户 B 编辑同一条记录 注意 我在 Laravel 5 2 中使用 SESSION DRIVER file 目前大约有
  • Magento - 将特定父类别的子类别列为链接

    我是 php 的初学者 并且一直试图将一个父类别的子类别作为链接调用 我得到了这个 它调出了 getName 但 getUrl 根本没有返回任何 URL 输出代码只是 li a href name of sub a li
  • php表格:每行显示3个单元格[重复]

    这个问题在这里已经有答案了 我看这里 数组放入每行 5 个单元格的表格中 https stackoverflow com questions 9099568 array into a table with 5 cells in each r
  • session_regenerate_id 没有创建新的会话 id

    我有一个脚本 旨在完成当前会话并开始新的会话 我使用了一段代码 它在我的开发计算机上运行良好 但是 当我将其发布到生产服务器时 会话 ID 始终保持不变 以下是我重新启动会话的代码 session start SESSION array P
  • 使用 PHP 对 ASP.NET 成员身份中的用户进行身份验证

    我在尝试使用 PHP 针对现有 ASP NET 成员资格数据库对用户进行身份验证时遇到一些问题 我在网上搜索过 发现现有的答案似乎对我不起作用 即 public static function Hash password salt deco
  • php 如何统计文件夹中的文件数量?

    我想让用户能够在自己的文件夹中上传一些文件 图片 但只有当该文件夹包含的图片少于五张时才可能 如果已经有 5 张图片 脚本必须让用户知道他 她的文件夹已满 所以 我想知道php中是否有函数可以计算文件夹中的文件数量 或者 php 中有其他方
  • 如何从导出的 csv 文件中删除双引号

    我正在使用 Laravel 5 8 并且添加了 Maatwebsite 包 用于从数据库表导出 CSV 文件 这是我导出的类 class ConfirmedExport implements FromCollection WithHeadi
  • php - 我应该加密电子邮件地址吗?

    当用户注册时 我应该将他们的电子邮件按原样存储在数据库中还是对其进行哈希处理 我希望稍后能够解密 那么我应该使用 md5 吗 谢谢你 No md5 is 单向哈希函数 http en wikipedia org wiki Cryptogra
  • 使用 PHP 的 Google Glass GDK 身份验证

    我正在尝试点击此链接来验证 GDK 中的用户 https developers google com glass develop gdk authentication https developers google com glass de
  • Composer 用于下载私有 GitHub 存储库

    我无法使用 Composer 下载 github 私人存储库 php composer phar update 我收到以下错误 The https api github com repos company private1 https ap
  • 如何将 mysql 转换为 mysqli? [复制]

    这个问题在这里已经有答案了 我厌倦了将 mysql 转换为 mysqli 但似乎收到了很多错误和警告 连接到数据库没有问题 但其余代码似乎错误 我做错了什么 sql
  • 使用PHP套接字发送和接收数据

    我正在尝试通过 PHP 套接字发送和接收数据 一切正常 但是当我尝试发送数据时 PHP 不发送任何内容 Wireshark 告诉我发送的数据长度为 0 我正在使用这段代码
  • PHP中如何识别服务器IP地址

    PHP中如何识别服务器IP地址 对于服务器 ip 来说是这样的 SERVER SERVER ADDR 这是港口的 SERVER SERVER PORT
  • 如何在html中制作多行类型的文本框?

  • php下拉菜单人口

    我正在尝试编写一个 php 脚本 该脚本将根据主下拉菜单的选择填充第二个下拉菜单 我想使用 jquery 来完成所有非页面刷新的事情 但我发现现有的所有东西都很难理解和修改 你知道有什么写得很好且易于理解的东西吗 或者可能是现有的教程 下面
  • 检查文件权限

    我怎样才能检查file permissions 无需通过运行操作系统特定命令passthru or exec Use 文件权限 http php net fileperms功能 clearstatcache echo substr spri
  • PHP 和 NLP:嵌套括号(解析器输出)到数组?

    想要将带有嵌套括号的文本转换为嵌套数组 以下是 NLP 解析器的输出示例 TOP S NP PRP I VP VBP love NP NP DT a JJ big NN bed PP IN of NP NNS roses 原文 我喜欢一大床

随机推荐

  • 不带端口的 SQL Server 命名实例远程连接

    我有一个 SQL Server Express 的命名实例 我想让它在网络上可见 我能够做到这一点 但其他机器只能连接到指定端口号 即使它是默认端口 例如 其他机器可以使用以下方式连接到我的机器 1433 是 SQL Server 的默认端
  • CSS:可以将 Webkit 滚动条“推”到内容中吗?

    通常滚动条的位置如下 content scrollbar 我基本上希望在 自定义 滚动条和可
  • 在 iOS 中以编程方式清空缓存

    有谁巧合地知道我如何清空我正在开发的iOS应用程序的缓存内存 在它进入后台 applicationDidEnterBackground 的那一刻 我已经调查了 NSCache 但我仍然无法理解如何检索缓存以基本上删除 释放它 你说的是这个吗
  • powerpoint vba将某些幻灯片导出为pdf

    我试图在调用此函数时将选定的幻灯片导出为 pdf 这段代码运行得非常好 但给我的是整个幻灯片的 PDF 格式 Sub Export to PDF ActivePresentation ExportAsFixedFormat ActivePr
  • 最小购物车金额(WooCommerce 中的特定产品除外)

    我只允许在我的网站上进行最低价值 15 欧元的订单 但希望对一种产品进行例外处理 如果有人知道如何在这方面帮助我 我将非常感激 最小订单值的编码如下 有人知道我如何调整它以通过产品 ID 排除一种产品吗 add action woocomm
  • 内存中的方法表示是什么?

    在思考一下 Java C 编程时 我想知道属于对象的方法如何在内存中表示 以及这一事实如何涉及多线程 是为内存中的每个对象单独实例化一个方法还是执行 同一类型的所有对象共享该方法的一个实例 如果是后者 执行线程如何知道哪个对象是 要使用的属
  • PHP 发送的 ZIP 存档已损坏

    我正在使用 php ZipArchive 即时创建 zip 文件并将其发送回用户 我将压缩文件暂时存储在文档根目录上方的文件夹中 然后将其与代码一起发回 header Content type application zip header
  • 何时使用 $ 何时不使用

    我使用以下变量选择了一个控件 var txt text1 现在 当我必须处理文本框上的事件时 我是否必须将其引用为 txt 或 txt 即可 txt keydown function or txt keydown function 有什么好
  • 为什么 File::isDirectory 作为 FileFilter 可以正常工作?

    Why 文件 是目录在下面的示例中 作为 FileFilter 工作正常吗 File files new File listFiles File isDirectory listFiles方法需要一个FileFilter作为参数 publi
  • Android ActionBar 重新创建选项菜单

    在Android中使用ActionBar时 如何刷新选项菜单 我尝试隐藏和显示该栏 并使用 getSupportActionBar 获取它的新实例 我正在尝试实现一个登录 注销按钮 该按钮将根据用户的状态动态更改 这是我的 onCreate
  • Google Big-query api 403-禁止异常

    当我使用 Big Query API 的 java 应用程序执行查询时 出现以下 JSON 异常 以下是我得到的异常 error errors domain global reason accessDenied message Access
  • 使用 regexp_substr 选择逗号之间的单词(不包括双引号)

    我试图从逗号分隔列表中返回字符串列表 但是 我仍然想返回字符串中出现在双引号之间的逗号 这是我目前的声明 SELECT regexp substr one two three four five six seven eight nine n
  • Jquery Draggables:删除元素会更改其他删除元素的位置

    当放置 放置元素 通过从一个 DIV 拖动到另一个 DIV 然后删除放置的 DIV 中的一个元素时 其中一些元素会更改位置 这是一个测试场景 http jsfiddle net TcYHW 8 http jsfiddle net TcYHW
  • 你已经从颠覆转向善变了吗?值得付出努力吗?

    我正在更好地了解 Mercurial 版本控制系统 并且正在考虑从 SVN 进行转换 有人已经转换了吗 对于您和您的团队来说 转变是否困难 您能否给出一些建议 是继续使用 SVN 还是选择 Mercurial 一旦开始 你就永远不想回去 优
  • Gnuplot脚本创建后消失

    我有一个 gnuplot 脚本 我的系统是ubuntu 14 04 当我在终端输入gnuplot myPlot 剧情将会消失 它不会保留在屏幕上 我在这个堆栈中看到了类似的question https stackoverflow com q
  • 如何在更新宏变量的数据步骤中调用宏并立即使用该值?

    下面的例子非常简单 可能可以用更简单的方式解决 不过 我有兴趣让它发挥作用 以下示例基于 sashelp library 的 cars dataset 首先 我有一个名为 fun 的宏 proc contents data sashelp
  • 如何在 Jinja 中对齐 Pandas DataFrame 列号文本

    我通过 Jinja 将 Pandas Dataframe 渲染到网页 但注意到数字列左对齐 当我尝试在特定列上应用下面的代码以右对齐并加载网页时 df df style set properties subset col1 col2 tex
  • 使用 pickle 反序列化大型 numpy 数组比使用 numpy 慢几个数量级

    我正在反序列化大型 numpy 数组 本例中为 500MB 我发现不同方法的结果存在数量级差异 以下是我计时的 3 种方法 我正在接收来自multiprocessing shared memory包 所以数据作为一个memoryview目的
  • 对通过 OpenXML 与 Microsoft Word 通信的应用程序进行单元测试

    我正在修改一个与 Microsoft Word 进行大量 对话 的应用程序 现在 使用 COM 互操作 但我需要将其更改为 Open XML 我想为此引入单元测试 但我不知道如何做到这一点 这是例如操作之一 模板word文档包含一些书签 该
  • Swiftmailer 配置:使用 gmail 发送邮件

    我可以使用 swiftmailer 从我的电脑发送电子邮件 但邮件未在服务器中发送 我正在使用 swiftmailer 5 0 1 项目详细信息是 Netbeans 中的一个简单的 php 项目 迅捷邮递员 5 0 1 树枝1 13 1 我