我下面的教程来使用Gmail发送电子邮件,但是我所得到的是只是挂起,甚至不会加载错误的页面。 我使用的是甲基苯丙胺,这样也许可以解释为什么它不是工作的一个原因。
class Email extends CI_Controller{
public function __construct()
{
parent::__construct();
}
function index(){
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'email',
'smtp_pass' => 'pass'
);
$this->load->library('email',$config);
$this->email->set_newline("/r/n");
$this->email->from('email', 'George');
$this->email->to('email');
$this->email->subject('hey this is an email');
$this->email->message('this is the content of the email');
if($this->email->send()){
echo 'Your message was sent';
}else{
show_error($this->email->print_debugger());
}
}
}
在php.ini文件中取消注释延长= php_openssl.dll
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => '465',
'smtp_user' => 'someuser@gmail.com',
'smtp_pass' => 'password',
'mailtype' => 'html',
'starttls' => true,
'newline' => "\r\n"
);
$this->load->library('email', config);
$this->email->from('email@gmail.com', 'George');
$this->email->to('email@gmail.com');
$this->email->subject('hey this is an email');
$this->email->message('this is the content of the email');
$this->email->send();
echo $this->email->print_debugger();
希望这会工作
导致问题的路线是:
$this->email->set_newline("/r/n");
删除它,并尝试发送邮件。
我只是做了这个成功的自己,但通过配置/ email.php发送的所有值来代替。 这部分不应该的问题。
那么basicly你想通过@gmail帐户或您自己的域发送? 如果你试图去通过自己的域名,您需要将DNS更改有关谷歌的设置:
创建MX记录
MAMP不与OpenSSL的扩展发货,但你可以自己创建它。 有关详情请参见本教程
通过使用标准的SMTP端口,并确保使用下面的配置,工程发布开始:
功能指数(){
$配置=阵列( '协议'=> 'SMTP', 'smtp_host'=> 'smtp.googlemail.com', 'SMTP_PORT'=> 25, 'smtp_user'=> '电子邮件', 'smtp_pass'=>“通');
$这个 - >负载>库( '电子邮件',$配置);
$这个 - >的电子邮件 - 从>( '邮件', '乔治'); $这个 - >的电子邮件 - >到( '电子邮件'); $这个 - >的电子邮件 - >主题(“嘿,这是一个电子邮件”); $这 - >的电子邮件 - >消息(“这是电子邮件的内容”);
$这个 - >的电子邮件 - >发送(); }
一旦你已经试过了,这一切都工作必须通过该读:
http://codeigniter.com/forums/viewthread/84689/