如何将smtp设置添加到我的表单?

时间:2014-10-13 20:35:23

标签: php forms validation sendmail phpmailer

我有一个简单的联系表单和验证脚本。 如何在代码中添加smtp设置? 我使用hostgator.com作为主机提供商。

<?php
// Check for empty fields
if(empty($_POST['name'])        ||
   empty($_POST['email'])       ||
   empty($_POST['phone'])       ||
   empty($_POST['message']) ||
   !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
   {
    echo "No arguments Provided!";
    return false;
   }

$name = $_POST['name'];
$email_address = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];

// Create the email and send the message

$to = 'yourname@yourdomain.com';
$email_subject = "Website Contact Form:  $name";
$email_body = "You have received a new message from your website contact form.\n\n"."Here are the details:\n\nName: $name\n\nEmail: $email_address\n\nPhone: $phone\n\nMessage:\n$message";
$headers = "From: yourname@yourdomain.com\n";
$headers .= "Reply-To: $email_address"; 
mail($to,$email_subject,$email_body,$headers);
return true;            
?>

2 个答案:

答案 0 :(得分:0)

简单回答:你不能。

该脚本依赖于内置mail()函数。这又依赖于php配置中完成的配置设置,而不是你可以在脚本中改变的东西。

由于你显然无法访问你环境中的php配置,你必须采取另一种方法:基于php的smtp客户端实现。浏览一下&#34; php smtp客户端类&#34;或谷歌上的类似。有很多实现可供免费使用,所以没有意义浪费时间自己编码。

答案 1 :(得分:0)

答案不是那么简单,请使用PHPMailer包。您可以在https://github.com/PHPMailer/PHPMailer

找到它