HTML,PHP / smtp?智能邮件(不接收任何电子邮件)

时间:2015-04-27 11:45:03

标签: php html email smtp sendmail

我在在线联系表单上创建了一个HTML / PHP。

插入所有信息后,返回index.html

我仍然没有收到来自网站的任何电子邮件。

我该怎么办?我应该设置smtp吗?

我使用smartermail pro 4.3作为我的电子邮件。



<?php
if(isset($_POST['submit']))  {
   $msg = 'Company: '.$_POST['company']."\n"
   .'Address: '.$_POST['address']."\n"
   .'Website: '.$_POST['website']."\n"
   .'Your Contact: '.$_POST['contact']."\n"
   .'Email : '.$_POST['email']."\n"
   .'Remark : '.$_POST['remark']."\n";
   mail('sale@jadepack.com.sg', 'Online Enquiry', $msg);
   header('location: index.html');
} else {
   header('location: onlineenquiry.html');
   exit(0);
}


?>
&#13;
&#13;
&#13;

[http://www.jadepack.com.sg/onlineenquiry.html![][1]][1]

[表格的图像] [1]

2 个答案:

答案 0 :(得分:1)

在谷歌上搜索这些文件,您将被重定向到github,从那里下载代码。

  

1)class.smtp.php 2)class.phpmailer.php

     

将这两个文件包含在页面sendemail.php(下面给出的代码)

require_once('class.phpmailer.php');
require_once('class.smtp.php');
require_once('upass.php');

function sendEmail($to, $subject,$message){
    $mail = new PHPMailer(); // defaults to using php "mail()"
    $name = explode('@',$to);
    $body = "Your email body goes here";

$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host       = "smtp.gmail.com"; // SMTP server
$mail->SMTPDebug  = 0;                     // enables SMTP debug information (for testing)
                                           // 1 = errors and messages
                                           // 2 = messages only
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
$mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
$mail->Port       = 465;                   // set the SMTP port for the GMAIL server
global $username;
global $password;
$mail->Username   = $username;
$mail->Password   = $password;
$mail->CharSet    = 'UTF-8';

$mail->AddReplyTo("abc@abc.ae.com", "Notification");
$mail->SetFrom('abc@abc.ae.com', 'Notification');

$address = $to;
$mail->AddAddress($address, $name[0]);

$mail->Subject = $subject;
//$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->MsgHTML($body);
if (!$mail->Send()) {
    //echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    //echo "Message sent!";
}


}
  

//提供下面给出的upass.php代码

<?php
$username   = "abc@abc.come";  // GMAIL username
$password   = "xyz";            // GMAIL password
?>

答案 1 :(得分:0)

首先,我确定邮件功能正在发送电子邮件。您可以通过在<34; onlineenquiry.php&#34;中填写邮件电话以及来进行检查:

<?php
if(isset($_POST['submit']))  {
   $msg = 'Company: '.$_POST['company']."\n"
   .'Address: '.$_POST['address']."\n"
   .'Website: '.$_POST['website']."\n"
   .'Your Contact: '.$_POST['contact']."\n"
   .'Email : '.$_POST['email']."\n"
   .'Remark : '.$_POST['remark']."\n";

   if (mail('sale@jadepack.com.sg', 'Online Enquiry', $msg)) {
       header('location: index.html');
   } else {
       header('location: emailError.html');
   }
} else {
   header('location: onlineenquiry.html');
   exit(0);
}
?>

然后:

  1. 要么您没有设置邮件服务器(请联系您的管理员)
  2. 或者您没有使用SMTP服务发送电子邮件。
  3. 作为建议,我建议使用具有SMTP支持(使用其他帐户)和SSL和TSL以及身份验证的基于HTML的电子邮件的库... PHPMailer 是最着名的之一。我鼓励你阅读并尝试一下。这样您就不依赖于本地主机。

    Here I link you a simple example来自图书馆的资料库。