Php 表单到电子邮件不适用于hotmail

Php 表单到电子邮件不适用于hotmail,php,html,forms,email,Php,Html,Forms,Email,我有一个简单的表单到电子邮件PHP系统,对我来说很好,因为我的webmail来自一个表单,它们支持服务器端的电子邮件脚本。但问题是Hotmail不支持,所以我的表单不适用于不支持自己所支持内容的电子邮件。我通过互联网寻找了完美的解决方案,但PHP不是我喜欢使用的东西,所以我不喜欢玩它。如果您想知道我的PHP邮件文件夹当前的样子,请查看: <?php $name = $_POST['name']; $lastname = $_POST['lastname']; $email = $_POST

我有一个简单的表单到电子邮件PHP系统,对我来说很好,因为我的webmail来自一个表单,它们支持服务器端的电子邮件脚本。但问题是Hotmail不支持,所以我的表单不适用于不支持自己所支持内容的电子邮件。我通过互联网寻找了完美的解决方案,但PHP不是我喜欢使用的东西,所以我不喜欢玩它。如果您想知道我的PHP邮件文件夹当前的样子,请查看:

<?php
$name = $_POST['name'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$workshop = $_POST['workshop'];
$location = $_POST['location'];
$information = $_POST['information'];
$contact = $_POST['contact'];


if( !isset($_POST['name'])) { die("No Direct Access"); } 

    $spam = $_POST['username'];

    if($spam) {  
        die("error: Spam"); 
        } else {

        }


$formcontent=" Naam: $name \n\n Achternaam: $lastname \n\n Email: $email \n\n Telefoon: $phone \n\n Workshop: $workshop \n\n Locatie: $location \n\n Contacten via: $contact \n\n Extra informatie: $information";
$recipient = "Something@Something.com";
$subject = "Workshop klant";
$mailheader = "From: ".$_POST["email"]."\r\n"; 
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
header('Location: verzonden.html');

不打算在其他解决方案上支持Mailgun。这正是我手边的代码所要说明的。发送邮件对于世界上所有的垃圾邮件和恶意软件问题来说都不是一件小事。一旦有任何粗略的迹象,邮件将被主要提供商阻止。如果您需要从网站发送邮件,您应该在某处创建一个帐户,专门从中发送邮件。对“批量邮件发送”进行web搜索以查看更多选项。许多都是免费的轻使用。。。有些甚至可以免费使用

如果使用Mailgun,您可以将他们的PHP下载到Web服务器中的一个文件夹中。那就这样吧:

在某个配置文件中:

// Mailgun connection info.
$GLOBALS['MAILGUN_API_KEY'] = '<your key from MailGun>';
$GLOBALS['MAILGUN_MAIL_DOMAIN'] = '<Your Domain>';

当然,您需要将表单数据组合到邮件正文中。希望这能有所帮助。

通过欺骗“发件人”电子邮件地址,你基本上与所有电子邮件提供商的垃圾邮件发送者无异。这就是为什么所有的大公司都会从一个标准的只发送邮件的帐户发送电子邮件,比如“noreply@...". 如果你想让主要提供商接受你的电子邮件,你需要设置一个真正的电子邮件帐户来发送。我通常使用类似于Amazon SES或Sendgrid的东西来处理这类事情,而且效果非常好。
<?php
require './mailgun-php/vendor/autoload.php';   
use Mailgun\Mailgun;
function mailgunSend($mailFrom, $mailTo, $mailSubject, $mailText, $mailHTML = null, $mailCC = null, $mailBCC = null, $mailAttachmentsArray = null) {
  $sendArray['from'] = $mailFrom;
  $sendArray['to'] = $mailTo;
  $sendArray['subject'] = $mailSubject;
  $sendArray['text'] = $mailText;
  if ($mailHTML != null) {
    $sendArray['html'] = $mailHTML;
  }
  if ($mailCC != null) {
    $sendArray['cc'] = $mailCC;
  }
  if ($mailBCC != null) {
    $sendArray['bcc'] = $mailBCC;
  }
  if ($mailAttachmentsArray != null) {
    $sendArray['attachment'] = $mailAttachmentsArray;
  }
  $mg = new Mailgun($GLOBALS['MAILGUN_API_KEY']);
  $mg->sendMessage($GLOBALS['MAILGUN_MAIL_DOMAIN'], $sendArray);
}
mailgunSend($GLOBALS['VERIFICATION_EMAIL_FROM'], $_SESSION["userEmail"], 
$GLOBALS['VERIFICATION_EMAIL_SUBJECT'], $mailBodyText, $mailBodyHTML);