使用 php 从 Hotmail 发送电子邮件

Send email from Hotmail using php

我需要使用 php 发送电子邮件。这是我的代码:

                $to= "dear-angel@hotmail.fr";
                $subject = "demande d'intervention";
                $message = "<h1>Demande d'intervention<h1>
                Bonjour,<br>
                il y a une urgence et on souhaite votre intervention docteur <br>";
                $headers = 'From: DRIF <dear-angel@hotmail.fr>' . "\r\n" .
                    'Reply-To: dear-angel@hotmail.fr' . "\r\n" .
                    'Content-Type: text/html; charset="iso-8859-1"' . "\r\n" .
                    'X-Mailer: PHP/' . phpversion();

                mail($to, $subject, $message, $headers);

这是我配置 php.ini 文件的方式:

[mail function]

; For Win32 only.
; http://php.net/smtp
SMTP = "smtp.live.com"
; http://php.net/smtp-port
smtp_port = 587
username="dear-angel@hotmail.fr"
password="blablabla"
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = "dear-angel@hotmail.fr"

我收到此错误消息:

SMTP server response: 550 5.7.3 Requested action aborted; user not authenticated

我尝试连接到我的 hotmail 帐户,但没有发现任何最近的活动,所以我可以确认是我本人。 我听说我必须使用 php 邮件程序,但我不知道如何使用它

你能帮帮我吗?提前致谢

Hotmail比端口号。将是 587,主机将是 smtp.live.com

详情请参考下方link: http://www.technonutty.com/2013/08/send-email-through-php-webapplication.html

简单的答案是 "you're doing it wrong"。直接调用 mail() 几乎总是错误的。构建和发送电子邮件确实很难正确完成,因此请使用像 PHPMailer 这样的库来为您完成。

Windows上的常见问题是您通常没有本地邮件服务器,因此邮件功能根本不起作用。一些库(包括 PHPMailer)包含一个 SMTP 客户端,它可以直接发送消息而不需要本地邮件服务器。这并不总是一个好主意,因为 SMTP 不适合交互式使用(例如在 HTML 页面加载期间),但它可能是您可以使用的全部。

Windows 类似 WAMP 的部署堆栈提供了自己的邮件服务器。

您会发现 PHPMailer 提供了大量示例 - 只需更改它们的设置即可与您的配置一起使用。如果你遇到困难,这里有很多文档、自述文件、帮助 wiki 和生成的 API 文档,还有大量关于 SO 的问题和答案(在 PHPMailer 标签下查看)。

它现在可以使用 GMAIL 帐户,这是我的代码:

<?php
require "C:\wamp\www\PHPMailer-master\PHPMailerAutoload.php";
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPAuth = true; // authentication enabled
$mail->Host = "smtp.gmail.com";
$mail->Port = 587; //465; // or 587
$mail->Username = "eadhun@gmail.com";
$mail->Password = "blabla";
$mail->SetFrom("eadhun@gmail.com");
$mail->Subject = "DEMANDE d'intervention";
$mail->Body = "Bonjour, il y a une urgence et on souhaite votre intervention docteur ";
$mail->AddAddress("eadhun@gmail.com");
  if(!$mail->Send())
    {
     echo "Mailer Error";
    }
    else
     {
    echo "Message has been sent";
    }
?>

谢谢大家的帮助:)