1
<?php
require ("PHPMailer-master/PHPMailerAutoload.php");
$mail = new PHPMailer;
if(isset($_POST['submit']))
{
$email_query = "select email1,email2 from tbl_contacts where id = '1'";
$query_result = mysql_query($email_query);
$value = mysql_fetch_array($query_result);
$primary_email = $value['email1'];
$CC = $value['email2'];
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$mail->IsSendmail(); // Set mailer to use SMTP
$mail->Host = "smtp.google.com"; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = $email; // SMTP username
//$mail->Password = 'password'; // SMTP password
$mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to
$mail->setFrom($email, $name);
//$mail->addAddress('[email protected]', 'Joe User'); // Add a recipient
$mail->addAddress($primary_email); // Name is optional
$mail->addReplyTo($email, '');
$mail->addCC($CC);
//$mail->addBCC('[email protected]');
//$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = $subject;
$mail->Body = $message;
$mail->AltBody = $message;
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
redirect('/contact.php?message=Your+Message+Has+Been+Sent!', 'location');
}
}
?>
我使用Gmail的SMTP,如果我發送一封電子郵件,Gmail帳戶它工作正常,但是當我發送一封電子郵件,一個雅虎賬號就顯示發送電子郵件成功的消息,但消息沒有得到傳遞。是否有可能使用Gmail'smtp從雅虎的電子郵件發送電子郵件?如果是,我該怎麼辦?如果不是,我該如何解決這個問題?從雅虎的電子郵件地址,可以使用Gmail的SMTP在PHPMailer的
這是不可能的。電子郵件標頭可由用戶編輯。您可以基本上從您喜歡的任何電子郵件地址發送電子郵件。從技術上講,你甚至可以發送來自任何地址的電子郵件。 GMail不希望他們的用戶濫用此功能,所以他們需要您提供GMail憑據。這樣他們可以確保你只能從你的GMail地址發送郵件。你需要自己的郵件服務器來繞過這個問題,或者檢查雅虎是否有自己的SMTP設置並使用它們。 – icecub