Php 如何解决codeIgniter中发送邮件速度慢的问题?

Php 如何解决codeIgniter中发送邮件速度慢的问题?,php,email,codeigniter,Php,Email,Codeigniter,我使用的是默认的codeIgniter邮件类,这对我来说发送电子邮件非常慢,从开始到结束需要3秒钟的时间。我能做点什么让用户觉得它更快吗。我知道发送电子邮件需要时间,但是我可以先向用户显示结果,然后再发送到其他解决方法吗?谢谢 不是类速度慢,而是您尝试连接的SMTP邮件服务器发送的邮件造成页面延迟 假设它是某种形式,您可以使用AJAX提交它,并让接收脚本发送电子邮件。或者,您可以尝试使用PHP邮件,而不是SMTP。我从未见过与PHP的mail()函数相关的性能问题报告,这在MTA中不是问题(因此

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

不是类速度慢,而是您尝试连接的SMTP邮件服务器发送的邮件造成页面延迟


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

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

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

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

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


如果您使用的是来自代码的SMTP端口连接,请检查您的Web服务器是否可以(及时)解析SMTP主机。否则这就是MTA的问题

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

application/config中的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
);
然后确保这个配置是自动加载的

$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秒。
谢谢

您是在哪种代码上进行此基准测试的?提交表单后是否刷新整个页面?