文章轉自:https://digishot.keenchief.com/tw/2928511342/2928511342
PHPmailer 是php程式中廣泛被用來寄信的class, 它含有豐富的類別可以使用,使用起來很方便也很快速,這篇文章是擷取至網路上的資料,教學如何透過gmail用smtp寄信的設定方法
下載phpmailer:
程式:
require_once('phpmailer/PHPMailerAutoload.php'); //phpmailer class的位置
$name=$_POST['name'];
$email=$_POST['liame'];
$subject=$_POST['subject'];
$message=$_POST['message'];
$mail= new PHPMailer(); //建立新物件
$mail->IsSMTP(); //設定使用SMTP方式寄信
$mail->SMTPAuth = true; //設定SMTP需要驗證
$mail->SMTPSecure = "ssl"; // Gmail的SMTP主機需要使用SSL連線
$mail->Host = "smtp.gmail.com"; //Gamil的SMTP主機
$mail->Port = 465; //Gamil的SMTP主機的埠號(Gmail為465)。
$mail->CharSet = "utf-8"; //郵件編碼
$mail->Username = " "; //Gamil帳號
$mail->Password = ""; //Gmail密碼
$mail->From = " "; //寄件者信箱
$mail->FromName = " "; //寄件者姓名
$mail->Subject =$subject; //郵件標題
$mail->Body =" "; //郵件內容
$mail->IsHTML(true); //郵件內容為html
$mail->AddAddress("$email"); //收件者郵件及名稱
$mail->AddBCC(" "); //設定 密件副本收件者
if(!$mail->Send()){ echo "Error: " . $mail->ErrorInfo; }else{ echo "您好!已收到您的留言,會盡快回覆"; }
$name=$_POST['name'];
$email=$_POST['liame'];
$subject=$_POST['subject'];
$message=$_POST['message'];
$mail= new PHPMailer(); //建立新物件
$mail->IsSMTP(); //設定使用SMTP方式寄信
$mail->SMTPAuth = true; //設定SMTP需要驗證
$mail->SMTPSecure = "ssl"; // Gmail的SMTP主機需要使用SSL連線
$mail->Host = "smtp.gmail.com"; //Gamil的SMTP主機
$mail->Port = 465; //Gamil的SMTP主機的埠號(Gmail為465)。
$mail->CharSet = "utf-8"; //郵件編碼
$mail->Username = " "; //Gamil帳號
$mail->Password = ""; //Gmail密碼
$mail->From = " "; //寄件者信箱
$mail->FromName = " "; //寄件者姓名
$mail->Subject =$subject; //郵件標題
$mail->Body =" "; //郵件內容
$mail->IsHTML(true); //郵件內容為html
$mail->AddAddress("$email"); //收件者郵件及名稱
$mail->AddBCC(" "); //設定 密件副本收件者
if(!$mail->Send()){ echo "Error: " . $mail->ErrorInfo; }else{ echo "您好!已收到您的留言,會盡快回覆"; }
打開瀏覽器,登入用來寄信的gmail帳號,進行設定:
設定應用程式安全性等級
https://www.google.com/settings/u/1/security/lesssecureapps
設定啟用狀態
https://accounts.google.com/b/0/DisplayUnlockCaptcha
啟用完成會出現下方訊息
另外驗證方式除了ssl也可以透過tls,設定如下:
$mailer->Host = 'tls://smtp.gmail.com';
$mailer->SMTPAuth = true;
$mailer->Username = " 這個 E-mail 地址已經被防止灌水惡意程式保護,您需要啟用 Java Script 才能觀看 ";
$mailer->Password = "***";
$mailer->SMTPSecure = 'tls';
$mailer->Port = 587;
$mailer->SMTPAuth = true;
$mailer->Username = " 這個 E-mail 地址已經被防止灌水惡意程式保護,您需要啟用 Java Script 才能觀看 ";
$mailer->Password = "***";
$mailer->SMTPSecure = 'tls';
$mailer->Port = 587;
來源: