当我的CodeIgniter webapp上的用户提交了一个特定的操作时,其他用户(不是很多,但在几周内会超过1000)通过电子邮件收到通知。此通知是个人通知,因此我遍历用户并为每个用户创建和发送邮件。
在此foreach循环中,我将每封邮件保存在数据库中,并使用我的Google Apps SMTP服务器发送电子邮件,如以下配置中所示:
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.gmail.com';
$config['smtp_port'] = '465';
$config['smtp_user'] = 'test@mydomain.com';
$config['smtp_pass'] = 'testpass';
$config['mailtype'] = 'html';
$config['newline'] = "\r\n";
现在我的第一个问题是:当用户提交动作时,他是否必须等待直到发送所有消息?或者这些电子邮件是否会被发送到邮件服务器并且页面在几秒钟内完成加载(当创建邮件并保存它们时,数据库是否完成)?
第二个问题:这是正确的方法吗?我能确定所有邮件都会成功交付吗?
任何人都可以帮我解决这个问题或者向我发送正确的方向吗?谢谢!