POST TIME:2017-11-13 00:55
昨天做一個DEDE(織夢)項目的時候用到了郵件發送功能,剛開始在網上找郵件發送的功能,發現很多都是引入一個PHPMailer
類,用這個類來做郵件發送。我剛開始也想用這個來做的,但是在找這個類的下載地址的時候突然想到了DEDECMS好像自帶郵件發送功能。于是放棄了找 PHPMailer
類,開始找DEDE自帶郵件發送功能。
由于只記得后臺設置中有個地方是設置發件人郵箱的,所以我們到后臺找到了這個 $cfg_smtp_usermail 這個全局變量。在編輯器中(我覺得Komodo Edit這個編輯器挺好用的~)全局搜索,發現這個變量是在 /dede/mail_send.php
這個文件中使用的。打開文件,發現下面代碼:
//郵件發送函數 function sendmail($email, $mailtitle, $mailbody) { global $cfg_sendmail_bysmtp, $cfg_smtp_server, $cfg_smtp_port, $cfg_smtp_usermail, $cfg_smtp_user, $cfg_smtp_password, $cfg_adminemail,$cfg_webname; if($cfg_sendmail_bysmtp == 'Y' && !empty($cfg_smtp_server)) { $mailtype = 'HTML'; require_once(DEDEINC.'/mail.class.php'); $smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password); $smtp->debug = false; if(!$smtp->smtp_sockopen($cfg_smtp_server)){ ShowMsg('郵件發送失敗,請聯系管理員','-1'); exit(); } $smtp->sendmail($email,$cfg_webname,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype); }else{ @mail($email, $mailtitle, $mailbody, $headers); } }
mail.class.php
就是DEDE定義的郵件發送類,位于 /include
目錄下。
我們可以把這個函數 Copy 出來,放到我們自己的代碼文件中,然后使用 sendmail
函數發送郵件就行。
當然,在使用之前,我們需要在后臺填寫郵件發送的幾個配置參數:
打開后臺,找到 “系統”–“系統設置”–“系統基本參數”–“核心設置”,可以看到如下參數,我們把這幾項填寫完保存就行了。
比如我們使用QQ郵箱的話,把 smtp服務器
換成 smtp.qq.com
,QQ的端口好像是465;SMTP服務器郵箱
填寫QQ郵箱;SMTP服務器用戶帳號
其實沒什么用,隨便寫上就行,也可以直接寫成QQ郵箱;SMTP服務器的用戶密碼
寫QQ郵箱密碼。
看完如果還有什么不懂的歡迎留言詢問~
下一篇我們會寫一下如何在 DEDE自定義表單中使用郵件發送功能來把表單內容發送到指定郵箱。