我开发了一个需要向用户发送电子邮件的 PHP 系统。我需要使用 Outlook 帐户来发送电子邮件,并且我正在使用 PHPmailer。
仅供参考,我的 SMTP 有效,因为我是从公司 IT 部门获得的。
这是我在 php.ini(Apache & PHP) 中所做的更改:[邮件功能];仅适用于 Win32。; http://php.net/smtp SMTP = abc-smtp.mycompany.local ;http://php.net/smtp-port smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = abc@mycompany.com
当我尝试发送电子邮件时它失败了。没有输出显示错误,包括告诉消息已发送或消息未发送。
我尝试进行一些更改,包括:1)将端口更改为 465,但它给出了错误消息:-
fsockopen() [<a href='function.fsockopen'>function.fsockopen</a>]: SSL: crypto
enabling timeout in C:\wamp\www\assetmanagementsystem\class.smtp.php on line 122
2) 取消注释扩展=php_openssl.dll。3) 在 SMTP 服务器中授予我的 IP 地址。
有人知道我应该怎么做才能让 Outlook 发送我的电子邮件吗?请帮我。我真的不知道现在该怎么办。这是我发送邮件的编码。
require_once('class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "";
$mail->Host = 'abc-smtp.mycompany.local';
$mail->Port = 25;
$mail->Username = "";
$mail->Password = "";
$mail->From = "abc@mycompany.com";
$mail->FromName = "Asset Management System";
$mail->Subject = "Notification on less of stock";
$mail->MsgHTML($message);
$mail->AddAddress("abc@mycompany.com","Asset Management System");
$mail->IsHTML(true);
if(!$mail->Send())
echo "Message was not sent <br />PHPMailer Error: " . $mail->ErrorInfo;
else
echo "Message has been sent";