【问题标题】:Warning: mail(mail.log): failed to open stream: Permission denied in警告:邮件(mail.log):无法打开流:权限被拒绝
【发布时间】:2012-09-17 14:14:18
【问题描述】:

我正在尝试使用带有 iss7 的 windows 服务器中的功能邮件,我收到了这个警告,它不允许我发送邮件:

Warning: mail(mail.log): failed to open stream: Permission denied in xxxx 

那一行是:

mail("mail@myserver.com", "subject", 'body',"From: mail2@myserver.com")

在 php.ini 我已经像这样配置了 SMTP 服务器、端口和 sendmail_from:

; http://php.net/smtp
SMTP = 128.x.x.xxx
; http://php.net/smtp-port
smtp_port = 110

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = mymail@myserver.com

; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
mail.log = mail.log

我还在 C:/php/ 中创建了一个名为“mail.log”的文件,并且我已经更改了所有用户的读写权限。

另外,在 phpinfo() 处,safe_mode 关闭

我目前正在使用 PHPMailer 发送邮件,但它太慢了,我想尝试使用邮件功能。

你知道我做错了什么吗? 谢谢。

【问题讨论】:

  • 你能把你的邮件功能的那行贴出来吗?这对我来说不合适。
  • 错误所在的行是我使用邮件功能的行,我会在几秒钟后上传问题。

标签: email smtp php


【解决方案1】:

您的php.ini 文件中应该有一个mail.log 条目,该条目应该记录所有mail() 函数调用。搜索它,如果你没有这一行,那么它采用了一些奇怪的默认值或以前定义的值,所以你最好定义它并将它指向你在 PHP 文件夹中创建的文件,并希望分配好的权限。有关更多信息,请查看 phpinfo() 对 mail.log 的看法。

欲了解更多信息:mail configuration

【讨论】:

  • 我更新了我的帖子。我已经有那条线了。看一看。谢谢。
  • 然后将其显式定义为"C:\php\mail.log" 或您调用的任何文件。例如。 mail.log = "C:\php\mail.log"mail.log = "C:/php/mail.log"
  • 好的,我已经按照你所说的进行了更改,我重新启动了服务器并且它有所改善。现在我收到此消息:警告:邮件():无法在 xxx 中接收(同一行)
  • 我已经做到了。但我的线路几乎与我在测试时发布的线路完全相同。不是字数的问题。
猜你喜欢
  • 2012-07-07
  • 2010-12-26
  • 2021-11-17
  • 2015-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
相关资源
最近更新 更多