如何通过托管在azure上的PHP联系表单接收电子邮件?

时间:2016-03-23 19:52:44

标签: php azure contact-form

我没有收到我网站上的联系表格中的电子邮件,也不确定如何解决这个问题?该网站托管在Microsoft Azure上。我该如何解决这个问题?

我目前的代码是:

<?php
if (isset($_POST['contact_name']) && isset($_POST['contact_email']) 
&& isset($_POST['contact_text'])) {
$contact_name = $_POST['contact_name'];
$contact_email = $_POST['contact_email'];
$contact_text = $_POST['contact_text'];
if(!empty($contact_name) && !empty($contact_email) && !empty($contact_text)) {

    $to = 'email@domain.com';
    $subject = 'Message from website.';
    $body = $contact_name."\n".$contact_text;
    $headers = 'From: ' .$contact_email;

    if(@mail('email@domain.com', $contact_text, $body, $headers)) {
        echo 'Thank you';
    } else {
        echo 'error.';
    }
}
else {
    echo 'You're missing something';
     }
   }
  ?>

<form action="" method="POST">
    Name: <input type="text" name="contact_name">
    Email: <input type="text" name="contact_email">
Message: <textarea name="contact_text" rows="5" cols="20"></textarea>
<input type="submit" value="Send">

</form>

谢谢。

1 个答案:

答案 0 :(得分:0)

Azure Web Apps服务不提供STMP服务器,我们也无权在其上构建STMP服务器,因此如果您删除p1->m,则可能会出现以下异常:@

要从Azure Web Apps上的PHP应用程序发送邮件,您可以利用其他一些第三方邮件服务,例如SendGrid。

您可以使用Azure管理门户轻松创建SendGrid帐户。有关详细信息,请参阅https://azure.microsoft.com/en-us/documentation/articles/store-sendgrid-php-how-to-send-email/

如有任何疑问,请随时告诉我。