0

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

调试 - 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 --> Helper 加载:file_helper
    错误 - 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
    DEBUG - 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 发件人:myemail@gmail.com X-Mailer: CodeIgniter X 优先级:3(正常) 消息 ID:<50f11a55932b7@gmail.com> 哑剧版:1.0

请帮我解决这个错误

4

3 回答 3

0

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

并像这样更改 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";
于 2013-01-14T03:02:05.780 回答
0

您是否在 php.ini 文件中设置了邮件设置?您真的能够通过浏览器中的应用程序发送电子邮件吗?仅仅因为它不抱怨并不意味着该功能确实有效。

于 2013-01-12T13:55:21.050 回答
0

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

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

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

这是一种不正确的使用方式,但您可以找到问题所在。

于 2013-01-13T21:35:15.730 回答