2016-03-07 126 views
0

我应该能够使用CodeIgniter在本地开发PC上发送SMTP电子邮件,而无需在本地开发PC上安装SMTP服务器应用程序?在没有本地安装smtp服务器的情况下发送smtp邮件

例如,以下不起作用。

的application/config/email.php

$config['mailtype'] = 'html'; 
$config['protocol'] = 'smtp'; 
$config['charset'] = 'iso-8859-1'; 
$config['wordwrap'] = TRUE; 
$config['smtp_host'] = 'ssl://smtp.gmail.com'; 
$config['smtp_port'] = 465; 
$config['smtp_user'] = '[email protected]'; 
$config['smtp_pass'] = '*********'; 

控制器代码

$this->load->library('email'); 

$this->email->from('[email protected]', 'Noel'); 
$this->email->to('[email protected]'); 
$this->email->subject('SMTP email Test'); 
$this->email->message('Testing smtp email in codeigniter.'); 
$this->email->send(); 

$data['message'] = "Sorry Unable to send email..."; 
if($this->email->send()){ 
    $data['message'] = "Mail sent..."; 
} 

$this->load->view('test_view', $data); 

下返回

对不起无法发送电子邮件...

并没有到达目标电子邮件地址。

+0

您是否检查过GMail SMTP疑难解答指南? https://support.google.com/mail/answer/78775?hl=zh-CN – gabe3886

+0

@ gabe3886 - 嗨,我注意到该链接是IMAP POP指南。是否在Gmail中启用了POP或IMAP?那么需要使用SMTP发送邮件? – user3442612

+0

另外从问题指南,我能够通过端口465,587,但不是25访问gmail与telnet smtp.gmail.com因为我使用ssl和465,我想这不是问题。 – user3442612

回答

2

尝试加载参数到一个数组,然后初始化使用数组source: CodeIgniter Forum库:

$config = Array(
    'protocol' => 'smtp', 
    'smtp_host' => 'ssl://smtp.googlemail.com', 
    'smtp_port' => 465, 
    'smtp_user' => 'xxx', 
    'smtp_pass' => 'xxx', 
    'mailtype' => 'html', 
    'charset' => 'iso-8859-1' 
); 
$this->load->library('email', $config); 
$this->email->set_newline("\r\n"); 

// Set to, from, message, etc. 

$result = $this->email->send(); 

另外,也许你需要启用SSL在php.ini。如果您看到该行:

;extension=php_openssl.dll 

取消注释通过从行的开头删除分号然后重新启动PHP。

+1

谢谢,这做了一个伎俩(种),但不是因为你给的原因。为什么我的代码不起作用有两个原因,还有一个原因是为什么你没有(至少对我来说)。 1.当使用谷歌进行smtp传送时,请转到https://www.google.com/settings/security/lesssecureapps并选择“打开”以允许访问不太安全的应用程序(来源:http://www.wpsitecare .com/gmail-smtp-settings /)。 2. $ this-> email-> set_newline(“\ r \ n”);需要在库调用后添加。 我很高兴为您提供接受的答案,因为它确实具有基本要求。 – user3442612

+0

很酷。我很高兴你解决了它 –

相关问题