这是我的代码:
<?php
mail('myemail@gmail.com','Test','Test');
?>
发送到非公司地址时,我收到以下错误:
Warning: mail(): SMTP server response: 550 5.7.1 Unable to relay in C:\inetpub\wwwroot\internal_tools\include\mail.php on line 2
将电子邮件地址切换为我的工作电子邮件时,它可以正常工作。我的PHP.ini也很好看:
[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost
SMTP = PCMAIL1.mycompany.com
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = no-reply@mycompany.com
甚至在IIS7中设置了网站:
有什么想法吗?
答案 0 :(得分:4)
为防止abuse for sending spam,许多电子邮件服务器要求在转发邮件(将其转发到收件人的电子邮件服务器)之前将客户端验证为合法用户。您已在IIS中指定凭据;但是,PHP没有使用它们。
以下是您的选择:
mail()
函数。sendmail_path
,PHP就会执行支持SMTP身份验证的程序。答案 1 :(得分:0)
您需要检查您的Smtp提供商的政策。或者您需要检查您的Smtp服务器配置(如果此服务器直接发送电子邮件)