用phpmailer實現網頁表單提交傳送郵件功能
引言:有時我們想在網頁上填好表單後,表單內容能以郵件的方式傳送給指定的人,那麼我們可以利用phpmailer這個php函式包來完成這個需求。
一、獲取郵箱授權碼
郵箱授權碼是郵箱帳號用於登入第三方客戶端的專用密碼。獲取方法根據郵箱廠家的不同略有差別,我這裡用的是163郵箱,獲取方法比較簡單,不會的可以去查一下。
二、下載phpmailer函式包
有的教程會丟給你官方的下載連結讓你去下載,這樣你去下載最新的phpmailer函式包後,可能會發現教程裡用到的包和下載的包不一樣......教程是幾年前的,包卻是最新的,坑啊。
我這裡整理了一下,需要的朋友可以下載,提取碼:ll79 。
下載解壓後得到:
三、示例程式碼
1.HTML結構
<form action="send.php" method="post">
<input type="text" placeholder="姓名" name="name" id="name">
<input type="email" placeholder="電子郵件" name="email" id="email">
<input type="text" placeholder="聯絡電話" name="phone" id="phone">
<input type="text" placeholder="主題" name="subject" id="subject">
<textarea placeholder="內容" name="comments" id="comments"></textarea>
<input type="submit" name="submit" value="提交"/>
</form>
2.send.php
<?php
require 'PHPMailerAutoload.php';
$mail = new PHPMailer();
$mail->isSMTP(); // 使用SMTP服務
$mail->CharSet = "utf8";
$mail->Host = "smtp.163.com"; // 傳送方的SMTP伺服器地址
$mail->SMTPAuth = true;// 是否使用身份驗證
$mail->Username = "evolraelc9@163.com"; // 傳送方的163郵箱使用者名稱
$mail->Password = "xxxxx"; // 傳送方的郵箱授權碼
$mail->SMTPSecure = "ssl"; // 使用ssl協議方式
$mail->Port = 465; // 163郵箱的ssl協議方式埠號是465/994
$mail->setFrom("evolraelc9@163.com","yessen"); // 設定發件人資訊
$mail->addAddress("yessen@iexpress.ai",""); // 設定收件人資訊,可設定多個,複製貼上此行修改郵箱地址即可
$mail->addReplyTo("evolraelc9@163.com","Reply"); // 設定回覆人資訊,指的是收件人收到郵件後,如果要回復,回覆郵件將傳送到的郵箱地址
//$mail->addCC("evolraelc9@163.com"); // 設定郵件抄送人,可以只寫地址,上述的設定也可以只寫地址
//$mail->addBCC("bbbb@163.com"); // 設定祕密抄送人
//$mail->addAttachment("bug0.jpg"); // 新增附件
$mail->Subject = "網頁收到新留言啦~~"; // 郵件標題
$mail->Body = "姓名:".$_POST[name]."
郵件:".$_POST[email]."
電話:".$_POST[phone]."
主題:".$_POST[subject]."
內容:".$_POST[comments]; // 郵件正文
if(!$mail->send()){// 傳送郵件
echo "Message could not be sent.";
echo "Mailer Error: ".$mail->ErrorInfo; // 輸出錯誤資訊
}else{
echo 'Message has been sent.';
}
?>
四、結果
網頁上填好表單點選提交後,順利的話可以看到網頁顯示:Message has been sent.
然後就可以去檢視收到的郵件:
提示:有的朋友web伺服器用的是雲虛擬主機,需要注意的是應保證php.ini設定裡的fsockopen函式為啟用狀態。
相關文章
- 使用phpmailer傳送郵件PHPAI
- Django實現傳送郵件功能Django
- 用Perl實現郵件傳送
- ThinkPHP6結合PHPMailer傳送郵件PHPAI
- Python 實現郵件傳送功能(進階)Python
- Python 實現郵件傳送功能(初級)Python
- ThinkPHP_phpmailer使用外部認證SMTP傳送郵件PHPAI
- 前端頁面上實現表單提交檔案上傳功能前端
- oracle 傳送郵件 實現方法Oracle
- python實現傳送郵件Python
- Java實現QQ郵件傳送郵件工具類Java
- ASP.NET自動傳送郵件功能的實現ASP.NET
- Java Mail 郵件傳送(二):簡單封裝的郵件傳送JavaAI封裝
- python實現郵件的傳送Python
- phpmailer傳送郵件出現錯誤:stream_socket_enable_crypto():SSLoperationfailedwithcode1.PHPAI
- Spring Boot實現傳送QQ郵件Spring Boot
- 在網頁中新增傳送郵件的按鈕網頁
- spring-boot-route(二十二)實現郵件傳送功能Springboot
- 郵件傳送
- 傳送郵件
- 【Python】傳送郵件功能淺析Python
- 用oracle傳送電子郵件Oracle
- 用Oracle傳送郵件procedure (zt)Oracle
- 求助:J2ME實現檔案操作 和郵件傳送功能
- 傳送郵件出現問題
- SpringBoot實現傳送電子郵件Spring Boot
- python實現基於smtp傳送郵件Python
- Springboot+Javamail實現郵件傳送Spring BootJavaAI
- 使用多執行緒實現郵件傳送執行緒
- SpringBoot整合Mail傳送郵件&傳送模板郵件Spring BootAI
- laravel 郵件傳送功能使用說明Laravel
- 傳送郵件的小功能(.net core 版)
- 教程-Python例項-傳送郵件功能Python
- Laravel 傳送郵件Laravel
- PHP傳送郵件PHP
- Django——郵件傳送Django
- java郵件傳送Java
- Laravel傳送郵件Laravel