我开发了一个需要向用户发送电子邮件的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";
这是我的答案:
$mail = new PHPMailer();
$mail->SMTPdebug = true;
$mail->IsSMTP();
$mail->Host = '10.xxx.xxx.xxx';
$mail->CharSet = 'UTF-8';
$mail->IsHTML(false);
$mail->AddReplyTo($email, "Vertragsverwaltung");
$mail->SetFrom('vertragsverwaltung@domain.de', 'Vertragsverwaltung');
$address = $email;
$mail->AddAddress($address, "John Doe");
$mail->Subject = "This is my subject";
$mail->Body = "Text: 'n'r" . $message;
if (!$mail->Send()) {
echo "[" . date("d.m.Y H:i", time()) . "] Mailer Error: " . $mail->ErrorInfo;
} else {
echo "[" . date("d.m.Y H:i", time()) . "] Message sent!";
}
没有足够的文本,blablablablasdjkflasjdflöasdjflaösdjfalösdjfalösdjf