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

时间:2017-10-13 20:48:53

标签: php html forms email

我有一个简单的表单来发送电子邮件PHP系统对我来说很好,因为我的webmail来自One,他们支持服务器端电子邮件脚本。但问题是Hotmail没有,因此我的表单不适用于不支持One支持的电子邮件。我已经通过互联网查找了完美的解决方案,但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');

正如您所看到的,这是非常基本的东西。这就是为什么我来到人们比我更了解这个的地方。

感谢您抽出宝贵时间。

1 个答案:

答案 0 :(得分:0)

不打算在其他解决方案上支持Mailgun。这就是我用代码方便的说明。对于全世界所困扰的所有垃圾邮件和恶意软件问题,发送邮件并非易事。在第一次暗示任何粗略的提示时,邮件将被主要提供商阻止。如果您需要从网站发送邮件,您应该在某处创建一个帐户来专门发送邮件。在网上搜索“批量邮件发送”以查看更多选项。许多是免费的轻度使用...有些是免费的甚至相当重要的用途。

如果使用Mailgun,则将其PHP下载到网络服务器中的文件夹。然后有这样的事情:

在某个配置文件中:

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

发送邮件的功能:

<?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);

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