PHP邮件功能不会将邮件发送到所需的email_id

时间:2016-05-26 05:13:55

标签: php email

我有以下一段代码。它返回消息"发送成功"但是我们在给定的Gmail上没有收到电子邮件,这个代码是正确的还是我错过了什么?

   <?php

require("mailer/PHPMailerAutoload.php");
require("mailer/class.smtp.php");
require("mailer/class.phpmailer.php");
$name=$_POST['Your_Name'];
$email=$_POST['Your_Email'];
$message=$_POST['Your_Msg'];
echo $name  ;

$mail = new PHPMailer();

// set mailer to use SMTP
//$mail->IsSMTP();

// As this email.php script lives on the same server as our email server
// we are setting the HOST to localhost
$mail->Host = "smtp.gmail.com"; // specify main and backup server
$mail->Port = "465";

$mail->SMTPAuth = true; // turn on SMTP authentication

$mail->Username = "mandarpatil0003@gmail.com"; // SMTP username
$mail->Password = "Con@Soumitra1"; // SMTP password
// $email is the user's email address the specified
// on our contact us page. We set this variable at
// the top of this page with:
// $email = $_REQUEST['email'] ;
$mail->From = $email;

// below we want to set the email address we will be sending our email to.
$mail->AddAddress("mandarpatil0003@gmail.com", "Mandar");

// set word wrap to 50 characters
$mail->WordWrap = 50;
// set email format to HTML
$mail->IsHTML(true);

$mail->Subject = "You have received feedback from your website!";

// $message is the user's message they typed in
// on our contact us page. We set this variable at
// the top of this page with:
// $message = $_REQUEST['message'] ;
$mail->Body = $message;
$mail->AltBody ="Name    : {$name}\n\nEmail   : {$email}\n\nMessage : {$message}";

if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
else
{
echo "Thank you for contacting us. We will be in touch with you very soon.";
}
?>

此代码是否有任何问题,或者我是否必须尝试不同的方法?

1 个答案:

答案 0 :(得分:0)

<?php
include 'library.php'; // include the library file
include "classes/class.phpmailer.php"; // include the class name
include "classes/class.smtp.php";
if(isset($_POST["send"])){
    $email = $_POST["email"];
    $mail   = new PHPMailer; // call the class 
    $mail->IsSMTP(); 
    $mail->SMTPAuth = true;     // turn on SMTP authentication
    $mail->SMTPSecure = "ssl";

    $mail->Host = "smtp.gmail.com"; //Hostname of the mail server
    $mail->Port = 465; //Port of the SMTP like to be 25, 80, 465 or 587
    $mail->SMTPDebug = 1;
    //$mail->SMTPAuth = false; //Whether to use SMTP authentication
    $mail->Username = "****@gmail.com"; //Username for SMTP authentication any valid email created in your domain
    $mail->Password = "****"; //Password for SMTP authentication
    $mail->AddReplyTo("****@gmail.com", "Reply name"); //reply-to address
    $mail->SetFrom("****@gmail.com", "Your Name"); //From address of the mail
    // put your while loop here like below,
    $mail->Subject = "Your SMTP Mail"; //Subject od your mail
    $mail->AddAddress($email, "Asif18"); //To address who will receive this email
    $mail->MsgHTML("<b>Hi, your first SMTP mail has been received."); //Put your body of the message you can place html code here
     //Attach a file here if any or comment this line, 

    $send = $mail->Send(); //Send the mails
    if($send){
        echo '<center><h3 style="color:#009933;">Mail sent successfully</h3></center>';
    }
    else{
        echo '<center><h3 style="color:#FF3300;">Mail error: </h3></center>'.$mail->ErrorInfo;
    }
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Send mails using SMTP and PHP in PHP Mailer using our own server or gmail server by Asif18</title>
<meta name="keywords" content="send mails using smpt in php, php mailer for send emails in smtp, use gmail for smtp in php, gmail smtp server name"/>
<meta name="description" content="Send mails using SMTP and PHP in PHP Mailer using our own server or gmail server"/>
<style>
.as_wrapper{
    font-family:Arial;
    color:#333;
    font-size:14px;
}
.mytable{
    padding:20px;
    border:2px dashed #17A3F7;
    width:100%;
}
</style>
<body>
<div class="as_wrapper">
    <h1>Send mails using SMTP and PHP in PHP Mailer using our own server or gmail server</h1>
    <form action="" method="post">
    <table class="mytable">
    <tr>
        <td><input type="email" placeholder="Email" name="email" /></td>
    </tr>
    <tr>
        <td><input type="submit" name="send" value="Send via SMTP" /></td>
    </tr>
    </table>
    </form>
</div>
</body>
</html>