繁体   English   中英

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

[英]Form to email not working for hotmail

我有一个简单的表单来发送电子邮件给 PHP 系统,它对我来说很好用,因为我的网络邮件来自 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');

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

感谢您抽出宝贵的时间。

不打算通过其他解决方案来认可 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);

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM