php郵箱群發,php非同步群發郵件

2021-10-25 21:38:45 字數 2227 閱讀 6457

當程式執行**郵箱的時候,會出現等待程式反饋時間太長 這對於使用者體驗來說是很不好的,使用者大多會在程式沒有執行完就關閉程式,這樣傳送郵件也會中斷,所以我們的解決思路應該是用非同步去執行發郵件的過程。

一、建立乙個連線使用者操作頁面和執行發件的方法:

$timeout = 30; //連線超時時間(s)

$fp = @fsockopen($host, $port, $errno, $errstr, $timeout);

if (!$fp) {

return '連線失敗';

if ($errno || !$fp) {

return $errstr;

stream_set_blocking($fp,0); //非阻塞

stream_set_timeout($fp, 1);//響應超時時間(s)

二、使用者操作方法 傳遞引數頁面

/*呼叫方法*/

echo '傳送成功'; /*提示使用者傳送成功*/

三、傳送郵件

public function emails(){

set_time_limit(0);/*設定程式執行時間沒有限制防止執行超時*/

ignore_user_abort(true);//設定與客戶機斷開是否會終止執行

$data=i('post.');

$email='';

$sendtitle="郵件標題";

$sendinfo='郵件內容';

$send=array(

'title'=>$sendtitle,

'detail'=>$sendinfo,

$mail= new service\sendemailservice();

foreach ($data as $k => $v) {

$email.=$v.'|';

$tomail=$v;

$info=$mail->sendemail($send,$tomail);

/*執行傳送郵箱*/

$log_name = "public/notify_url.log"; //log檔案路徑

$this>log_result($log_name,$email.date(time(),'h:i:s').';');

/*記錄一下日誌看程式是否執行發件*/

使用者執行結果(以上是測試)

日誌檢視

php實現短信群發

近期根據客戶的需求做了 簡訊和郵件的功能,做一下總結吧 簡訊首先需要有第三方的介面,這些服務商有很多的,我用的是客戶已經給提供的資料介面,用起來還是挺不錯的,在這裡就不打廣告了,總之第三方的服務商會給乙個請求位址和請求的賬號和密碼,第三方的api還是會很詳細的,在這裡我就介紹一下,在我們拿到第三方的...

PHP中的類 郵件群發

linuxaidwing 本類可以用與於email的 測試的環境是linux,系統需要安裝sendmail才能使用 if defined mail class defined else 定義抄送名單 if is array cclist sizeof cclist elseif cclist 定義密...

PHP 版 群發紅包演算法

面試中的乙個問題,當時在紙上用偽 描述了下實現的原理.回來後用 實現了下.有不完善或需要改進的地方,歡迎拍磚 fwrite stdout,請輸入紅包金額 money fgets stdin 0 if is numeric money money 0.01 echo 紅包金額為 money n fwr...