Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Codeigniter CLI发送电子邮件时出错_Codeigniter_Email_Command Line Interface_Send - Fatal编程技术网

使用Codeigniter CLI发送电子邮件时出错

使用Codeigniter CLI发送电子邮件时出错,codeigniter,email,command-line-interface,send,Codeigniter,Email,Command Line Interface,Send,我有功能发送电子邮件与codeigniter。当我通过浏览器在本地主机上运行时,此功能正常,但当我尝试通过命令行界面运行时,此功能失败,这是我得到的日志: 调试-2013-01-12 15:09:57-->配置类已初始化 错误-2013-01-12 15:09:57-->严重性:警告-->chmod():不允许操作/var/www/myapp/system/libraries/Log.php 106 .... 调试-2013-01-12 15:09:57-->数据库驱动程序类已初始化 错误-2

我有功能发送电子邮件与codeigniter。当我通过浏览器在本地主机上运行时,此功能正常,但当我尝试通过命令行界面运行时,此功能失败,这是我得到的日志:

调试-2013-01-12 15:09:57-->配置类已初始化 错误-2013-01-12 15:09:57-->严重性:警告-->chmod():不允许操作/var/www/myapp/system/libraries/Log.php 106 .... 调试-2013-01-12 15:09:57-->数据库驱动程序类已初始化 错误-2013-01-12 15:09:57-->严重性:警告-->chmod():不允许操作/var/www/myapp/system/libraries/Log.php 106 调试-2013-01-12 15:09:57-->已加载帮助程序:文件\u帮助程序 错误-2013-01-12 15:09:57-->严重性:警告-->chmod():不允许操作/var/www/myapp/system/libraries/Log.php 106 调试-2013-01-12 15:09:57-->电子邮件类已初始化 错误-2013-01-12 15:09:57-->严重性:警告-->chmod():不允许操作/var/www/myapp/system/libraries/Log.php 106 调试-2013-01-12 15:10:00-->加载的语言文件:Language/english/email_lang.php 错误-2013-01-12 15:10:00-->严重性:警告-->chmod():不允许操作/var/www/myapp/system/libraries/Log.php 106 调试-2013-01-12 15:10:00-->无法使用PHP mail()发送电子邮件。您的服务器可能未配置为使用此方法发送邮件。
发件人:“测试” 返回路径: 答复:myemail@gmail.com" X-Sender:myemail@gmail.com X-Mailer:CodeIgniter X优先级:3(正常) 消息ID: Mime版本:1.0


请帮助我解决此错误

您是否在php.ini文件中设置了邮件设置?你真的能够通过浏览器中的应用发送电子邮件吗?仅仅因为它不抱怨并不意味着该函数实际上可以工作。

也许您没有权限访问该文件

尝试使用以下命令使所有用户都可以访问:

sudo chmod 777 /var/www/myapp/system/libraries/Log.php

这不是一种正确的使用方法,但你可以找到问题。

最后,我可以根据和自己解决问题

并对config/email.php进行如下更改:

$config['protocol']='smtp';
$config['mailpath'] = "/usr/bin/msmtp";
$config['smtp_host']='ssl://smtp.googlemail.com';
$config['smtp_port']=465;
$config['smtp_timeout']=30;
$config['smtp_user']='myemail@gmail.com';
$config['smtp_pass']='mypassword';
$config['charset']='utf-8';  
$config['newline']="\r\n";

system/libraries/Log.php
是引发错误的脚本,而不是必须写入的文件。您必须允许服务器写入
应用程序/logs
目录。
$config['protocol']='smtp';
$config['mailpath'] = "/usr/bin/msmtp";
$config['smtp_host']='ssl://smtp.googlemail.com';
$config['smtp_port']=465;
$config['smtp_timeout']=30;
$config['smtp_user']='myemail@gmail.com';
$config['smtp_pass']='mypassword';
$config['charset']='utf-8';  
$config['newline']="\r\n";