如果你的主機不支援SMTP,只要利用 PHPMailer寄信套件,配合GMail。
你就可以為你的網站建立客服系統、聯絡表單,還可以夾帶檔案!
這 PHPMailer 支援HTML格式,允許 SSL 跟 TLS驗證。
官方github | 範例載點[Google Drive]
說明
首先建立一個表單 feedback.php
<!DOCTYPE html> <html> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> <title>Feedback | iZO製作</title> </head> <body> <div style="text-align: left;"> <?php if ($_POST['C_mail']!=null){ require_once('PHPMailer/PHPMailerAutoload.php'); $C_name=$_POST['C_name']; $C_topic=$_POST['C_topic']; $C_message=nl2br($_POST[C_message]);//轉換格式,讓表單內容可以換行 $C_mail=$_POST['C_mail']; $C_file=$_FILES['C_file']['name']; $C_tmpfile=$_FILES['C_file']['tmp_name']; $mail= new PHPMailer(); $mail->IsSMTP(); $mail->SMTPAuth = true; $mail->SMTPSecure = "ssl"; //SMTP驗證方式 SSL/TLS $mail->Host = "smtp.url.tw"; //SMTP主機 $mail->Port = 465; //SMTP主機的埠號(Gmail為465)。 $mail->CharSet = "utf-8"; $mail->Username = "user"; //帳號 $mail->Password = "pass"; //密碼 $mail->From = $C_mail; $mail->FromName = $C_name; $mail->Subject = $C_topic; $mail->Body = $C_message; $mail->IsHTML(true); $mail->AddAttachment($C_tmpfile, $C_file); $mail->AddAddress("[email protected]"); //收件者管理員信箱 if(!$mail->Send()){ echo "<p align=center>傳送Error: ".$errorx=$mail->ErrorInfo."</p>"; }else{ echo "<p align=center><b>傳送成功。</b></p>"; } }else{ ?> <form method="post" action="" enctype="multipart/form-data"> <table align="center"><br> <h1 style="text-align: center;">聯 絡 管 理 員</h1><br> <tr><td>姓名</td> <td><input name="C_name" type="text"></select></td></tr> <tr><td>標題</td> <td><input name="C_topic" type="text"></select></td></tr> <tr><td>內容</td> <td><textarea name="C_message" cols="100" rows="10"></textarea></td></tr> <tr><td>信箱</td> <td><input name="C_mail" type="text"></td></tr> <tr><td>圖片附件</td><td><input name="C_file" type="file"></td></tr> <tr><td colspan="2" align="center"><input type="submit" value="確定發送"></td></tr> </table> </form> <?php } ?> <br><br><p align="center"><font size="2"><a href="https://iZO.tw">iZO手札 製作<a></font></p> </div> </body> </html>
然後下載 PHPMailer套件裡的以下四個檔案,並放在PHPMailer資料夾內。
class.phpmailer.php、class.pop3.php、class.smtp.php、PHPMailerAutoload.php
完成!
補充說明
(1) 加入nl2br函式是為了讓表單擁有換行的功能
(2) GMail的設定,如下:
$mail->SMTPSecure = "tls"; //SMTP主機 $mail->Host = "smtp.gmail.com"; //SMTP主機 $mail->Port = 465; //SMTP主機的埠號(Gmail為465) $mail->CharSet = "utf-8"; //郵件編碼 $mail->Username = "[email protected]"; //帳號 $mail->Password = "passs"; //密碼