php - 邮件未在 Codeigniter、smtp 设置中发送
问题描述
我无法在 Codeigniter 中使用 smtp 发送邮件。
收到错误:
您好:遇到以下 SMTP 错误:无法使用 PHP SMTP 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件。
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| SMTP EMAIL DETAILS
| -------------------------------------------------------------------
| This file contains an array of smtp email settings.It is used by send emails functions.
|
*/
$config['email'] = Array(
'protocol' => 'smtp',
'smtp_host' => 'email-smtp.us-east-1.amazonaws.com',
'smtp_port' => '465',
'smtp_timeout' => '30',
'smtp_user' => 'my user name',
'smtp_pass' => 'my password',
'charset' => 'utf-8',
'wordwrap' => TRUE,
'mailtype' => 'html',
'newline' => "\r\n",
'validation' => TRUE
);
?>
mail.php 文件,这有什么问题?
解决方案
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => '465',
'smtp_user' => 'test@gmail.com',
'smtp_pass' => 'testpass',
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
//Load email library
$this->load->library('email', $config);
$this->email->from('yusufgenius03@gmail.com', 'admin');
$this->email->to('user@gmail.com');
$this->email->subject('Email Test');
$message = $this->email->message('testing email message');
$this->email->set_newline("\r\n");
if($this->email->send()){
$this->session->set_flashdata("email_sent","Kindly check your email to reset your password.");
redirect('users/resetp');
}else{
echo $this->email->print_debugger();
}
}
推荐阅读
- sql - Hive 查询:阶段中的不明确列引用 acct_nbr
- java - 我的 Collections.sort 有什么问题?
- postgresql - 在 docker 中运行 Postgresql 命令
- python - 无法使用 Telegram api 和 python 获取图像信息
- swift - 如何设置 Xcode Playground 以稳定地使用构建的框架?
- laravel - 取消选中单选按钮 - laravel
- firebase - Firebase 数据库从不保存配置
- java - Jayway jsonpath 正在以浮点格式返回值。如何使用java或scala在String中获取其原始数字格式?
- c# - Sqlite 查询:如何处理合并以及更新时的处理
- javascript - 在静态布局中反应导航选项卡导航器