【问题标题】:How to solve the send mail slow in codeIgniter?如何解决codeIgniter发送邮件慢的问题?
【发布时间】:2011-11-06 22:50:14
【问题描述】:

我正在使用默认的 codeIgniter 邮件类,这对我来说发送电子邮件非常慢,从开始到结束需要 3 秒。我可以做些什么让用户认为它更快。我知道发送电子邮件需要时间,但我可以先向用户显示结果,然后再发送或其他解决方法吗?谢谢。

【问题讨论】:

  • 你在哪个代码上做了这个基准测试?提交表单后刷新整个页面?

标签: php email codeigniter


【解决方案1】:

首先创建一个自定义配置文件

应用程序/配置中的email.php

在我的情况下,我通过 webmail id 发送电子邮件,所以这是我的 email.php

$config = Array(
    'protocol' => 'smtp',
    'smtp_host' => 'SMTP_HOST_NAME',
    'smtp_port' => 25,
    'smtp_user' => 'SMTP_USER_NAME', // change it to yours
    'smtp_pass' => 'SMTP_PASSWORD', // change it to yours
    'mailtype' => 'html',
    'charset' => 'iso-8859-1',
    'wordwrap' => TRUE
);

然后确保这个配置是自动加载的。在 application/config 中打开你的 Autoload.php 并写入

$autoload['config'] = array('email');

现在,每当您使用电子邮件库创建具有许多方法的控制器时。使用父结构

function __construct()
{
  parent::__construct();          
  $this->load->library('email', $config);

}

然后你就可以轻松地发邮件了

$this->email->from('info@example.net', 'Account');
 $this->email->to('johndoe@example.com');
 $this->email->cc('johndoe@example.com');
 $this->email->bcc('johndoe@example.com');
 $this->email->subject('Account Confirmation');
 $message = "any message body you want to send";
 $this->email->message($message);
 $this->email->send();

通过 CI 电子邮件库发送邮件时,这减少了 2-3 秒。 谢谢

【讨论】:

    【解决方案2】:

    我从未见过与 php 的 mail() 函数相关的性能问题报告,这在 MTA 中不是问题(因此与 PHP 无关)。

    SMTP 系统 (MTA) 就是管理电子邮件队列。如果它不能及时将消息排入队列,那么它的主要目的就失败了。

    但是您没有提供有关您正在使用的 MTA、它是如何配置的、PHP 运行在什么操作系统上的信息,也没有提供有关在 PHP 中如何配置邮件接口的信息。

    此外,标准的 codeigniter 邮件类可以使用 PHP mail() 函数,或直接操作系统调用 SMTP 邮件程序或网络调用 SMTP 端口/服务器,而无需知道代码在做什么很难理解问题是什么。

    如果您使用代码中的 SMTP 端口连接,请检查您的网络服务器是否可以(立即)解析 SMTP 主机。否则就是 MTA 的问题。

    【讨论】:

      【解决方案3】:

      不会是慢的类,而是您尝试连接的 SMTP 邮件服务器发送导致页面延迟的电子邮件。

      假设它是某种形式,您可以使用 AJAX 提交它并让接收脚本发送电子邮件。或者,您可以尝试使用 PHP 邮件而不是 SMTP。

      【讨论】:

        猜你喜欢
        • 2016-08-12
        • 1970-01-01
        • 2023-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-12
        • 2020-03-27
        相关资源
        最近更新 更多