㈠ php如何發送郵件
PHP發送郵件的主要步驟如下:
創建一個PHP文件:
設置郵件參數:
編寫發送郵件的代碼:
將PHP文件復制到項目文件內:
刷新頁面或調用API發送郵件:
等待郵件發送成功:
注意:在實際應用中,為了提高郵件發送的可靠性和安全性,建議使用SMTP協議和SSL/TLS加密來發送郵件,並配置好郵件伺服器的身份驗證信息。同時,也要注意處理好郵件發送失敗的情況,給用戶一個明確的提示。
㈡ 如何在Windows系統中安裝sendmail使用PHP mail函數
php mail()函數在windows不能用,需要安裝sendmail。
1.下載sendmail.zip
2.解壓到C:下,例如C:\PHP\sendmail,最好短路徑,長路徑名有可能產生問題。
3.修改php.ini如下
sendmail_path = "C:\PHP\sendmail\sendmail.exe -t"
4.根據你自己的配置環境修改sendmail.ini。
第一次最好啟用debug.log_file,error_logfile,以查看sendmail是否生效。
5.重啟apache
用sendmail結合其它的smtp伺服器,如smtp.gmail.com來實現發郵件。現在大部分郵箱都要求smtp驗證,所以要在sendmail.ini中加入用戶名和密碼。
php.ini配置 (以用gmail郵箱為例)
[mail function]
; For Win32 only.
SMTP = smtp.gmail.com
smtp_port = 25
; For Win32 only.
sendmail_from = [email protected]
; For Unix only. You may supply arguments as well (default: 「sendmail -t -i」).
sendmail_path = 「C:\PHP\sendmail\sendmail.exe -t」
就配置三項,smtp、smtp_port和sendmail_path
sendmail.ini配置
[sendmail]
; you must change mail.mydomain.com to your smtp server
smtp_server=smtp.gmail.com
smtp_port=25
auth_username=yourusername
auth_password=yourpassword
[email protected]
; default_domain=mydomain.com
sendmail網上有下的,如果你是用xampp,那裡面直接就帶了。
同時在虛擬主機的httpd.conf里加上這樣一句
<directory d:/www/users/username> php_admin_value sendmail_path 『C:\PHP\sendmail\sendmail.exe -t [email protected]』</directory>
此郵件地址為用戶的郵件地址,隨便添。
------------------------
測試文件mail_test.php
<?
if(mail("[email protected]","測試","測試郵件"))
{
echo "發送成功!!";
}
else{
echo "發送失敗!!";
}
?>
㈢ 如何在 BlueHost 空間中用 PHP 以 SMTP 方式發送郵件
你可以用 mail,sendmail 和 smtp 三種方式來藉助 Mail 類發送郵件。話說幾天前剛買了個 BlueHost 的空間,在上面跑程序的時候用 PHP 發郵件搞出點心得來,放在這里跟大家分享。 首先我在系統中添加了一個郵件賬戶 test,密碼 123456,然後寫下了如下代碼: require_once( 'Mail.php'); $conf = array( 'host' => 'mail.yourdomail.com', 'auth' => true, 'username' => 'test', 'password' => '123456' ); $headers['From'] = '[email protected]'; $headers['To'] = $To; $headers['Subject'] = '=?GB2312?B?' . base64_encode( $Subject) . '?='; $headers['Content-Type'] = 'text/plain; charset=gb2312'; $Mail = & Mail::factory( 'smtp', $conf); $res = $Mail->send( $To, $headers, $Content); ?> $To 是想要發送到的信箱地址,比如 [email protected],$Subject 是郵件主題,$Content 是 GB2312 編碼的郵件正文。結果用以上程序屢試屢敗,後來經過多次試驗才得出在 BlueHost 主機上用 PHP 以 SMTP 方式發送郵件的正確方法,注意事項如下: 1) BlueHost 幫助信息中說跟你賬戶(域名)相對應的 SMTP 主機地址是 mail.yourdomain.com,但其實應該是 localhost。你用 mail.yourdomain.com 只會得到 SMTP 拒絕鏈接的錯誤信息。 2) SMTP 伺服器需要驗證才能發郵件。 3) SMTP 驗證時用戶名需要寫 user+yourdomain.com,不能寫 [email protected]。想想這個也好理解,在虛擬主機上一個 SMTP server 要支撐很多個賬戶,這種寫法應該是為了區別發件的賬戶。 4) 郵件頭中的發件郵件賬戶一定要是存在於系統中的真實賬戶,象我上面那樣注冊了一個 [email protected],但是發件人賬戶又寫 [email protected] 是不行的,只會得到這樣的錯誤信息: SMTP: Invalid response code received from server (code: 550, response: Verification failed for No Such User Here Sender verify failed) 知道了上面這 4 個注意事項以後就好辦了,刪掉剛才注冊的 test 郵件帳號,注冊一個 noreply 帳號,修改程序如下: require_once( 'Mail.php'); $conf = array( 'host' => 'localhost', 'auth' => true, 'username' => 'noreply+yourdomain.com', 'password' => '123456' ); $headers['From'] = '[email protected]'; $headers['To'] = $To; $headers['Subject'] = '=?GB2312?B?' . base64_encode( $Subject) . '?='; $headers['Content-Type'] = 'text/plain; charset=gb2312'; $Mail = & Mail::factory( 'smtp', $conf); $res = $Mail->send( $To, $headers, $Content); ?> 郵件被成功的發送出去了,而且由於郵件伺服器在美國,發送到 GMail 信箱非常之快,一般這邊一發那邊刷新一下就能看到新郵件:) 這里再說些題外話,買了 BlueHost 的空間將近一周時間了,感覺美國的虛擬主機市場確實非常成熟,功能強大。跟國內價格還行但是配置超受限的主機比起來性價比高的不得了!只要你選對了服務提供商,可以說絕對讓你滿意。但是缺點也比較明顯,就是速度實在是慢!這裡面的原因眾所周知,感謝偉大的電信運營商,感謝偉大的 GFW! 今天跟 HostMonster 的客戶溝通了一下,問問他們那邊從中國過去的訪問速度怎麼樣,估計人家遇到這樣的情況不是個別現象,上來就是一句,我們對來自中國的訪問速度無法做出承諾。 國內的虛擬主機服務商有萬網這樣把大家當 SB 漫天要價的主,但是也有兢兢業業踏踏實實做服務的公司,不過性價比跟國外的運營商確實沒法比。一邊是價格高不了多少,動輒幾十 G 空間幾百 G 月流量,支持 SSH,支持多 Addon domain 的國外主機,一邊是價廉物不太美的國內主機,我想誘惑力是不言而喻的。但是速度,唉,傷心是一種說不出的痛!
㈣ phpwind如何實現用戶注冊成功後收到郵件提醒
小編記得後台是沒有這樣的設置的。搜索好很久,終於找到了和這位用戶有著一樣想法的站長,他是如何實現的。小編現在分享給大家,希望大家喜歡。一、實現用戶注冊成功後收到郵件提醒的滿足條件1、php虛擬主機是否支持smtp和mail函數2、請你根教「phpwind如何SMTP設置電子郵件」,把phpwind的郵件功能設置好。3、用戶注冊時填寫郵箱的有效性:建議開啟郵箱激活注冊功能可以確定用戶郵箱的有效性二、實現用戶注冊成功後收到郵件提醒(修改前請備份)文件目錄:網站根目錄(public_html)/register.php打開:register.php查找:(大約在253行)list($winid, $rgyz, $safecv) = $register->getRegUser(); 在以上代碼下添加一下代碼: if($regemail){ $userService = L::loadClass('UserService', 'user'); $userService->setUserStatus($winid, PW_USERSTATUS_RECEIVEMAIL, 1); }小編現在還不知道用戶為什麼需要實現這樣的功能,但是能幫助的用戶也能給我們帶來快樂。希望本章內容,有著像這位用戶一樣想法的人看到。
㈤ php 發送郵件 要怎麼配置
在Windows平台下使用mail函數發送郵件,記錄如下
php.ini的設置:
SMTP = localhost
smtp_port = 25
sendmail_from=你的設定值
另外,還需要安裝IIS自帶的SMTP,在SMTP虛擬伺服器上點擊右鍵,在彈出的屬性窗口裡進行如下設置:
點擊訪問選項卡,再點擊中繼,在彈出的窗口出點擊添加,然後選單台計算機,添加IP地址為 127.0.0.1。然後一路確定返回。(不進行此項設置,可能會出現:SMTP server response: 550 5.7.1 Unable to relay for [email protected]。。。的錯誤)
這樣就可以使用mail函數了
<?php
mail("[email protected]","Test mail function of PHP.","hello world!");
?>