过去我已经通过谷歌smtp发送电子邮件了,我现在想从我自己的服务器发送电子邮件。
我已按照this example设置我的电子邮件配置文件。这就是我的email.php文件的样子:
$config['useragent'] = 'CodeIgniter';
$config['protocol'] = 'mail';
$config['mailpath'] = '/usr/sbin/sendmail';
$config['smtp_host'] = 'localhost';
$config['smtp_user'] = 'noreply@publish.mmedija.com';
$config['smtp_pass'] = 'testtest';
$config['smtp_port'] = 25;
$config['smtp_timeout'] = 5;
$config['wordwrap'] = TRUE;
$config['wrapchars'] = 76;
$config['mailtype'] = 'text';
$config['charset'] = 'utf-8';
$config['validate'] = FALSE;
$config['priority'] = 3;
$config['crlf'] = "\r\n";
$config['newline'] = "\r\n";
$config['bcc_batch_mode'] = FALSE;
$config['bcc_batch_size'] = 200;
我有一台Apache服务器。我有DirectAdmin软件,我用它设置了一个带密码的电子邮件帐户(noreply@publish.mmedija.com)(testtest)。这是我必须在配置文件中设置的stmp_user和smtp_pass。
很奇怪,因为:
$this->email->send()
返回True,但不发送电子邮件。 print_debugger返回:
Your message has been successfully sent using the following protocol: mail
User-Agent: CodeIgniter
Date: Thu, 11 Jul 2013 08:36:13 +0200
From: "Publishwall.si"
Return-Path:
Reply-To: "noreply@publish.mmedija.com"
X-Sender: noreply@publish.mmedija.com
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <51de525d9d15a@publish.mmedija.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
=?utf-8?Q?Publishwall.si_-_Aktivacija_ra=c4=8duna?=
test
但我还没有收到电子邮件。调试器中的“Reply-To”字段也不是我设置发送邮件的字段。也许我在php.ini中配置有问题:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@example.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path =
答案 0 :(得分:1)
您可能想要检查邮件服务器日志。这些应该告诉您邮件服务器是否甚至收到了从您的脚本排队的消息 - 如果是,那么当它尝试将消息传递到远程MTA时会发生什么。
答案 1 :(得分:0)
你要把它寄到哪里?尝试发送到您的其他电子邮件。我知道在使用谷歌应用程序时发送到同一个域有问题。
尝试将其发送到hotmail或yahoo。