Board logo

標題: [PHP]Mail函數 [列印本頁]

作者: eightwing     時間: 2005-8-24 04:59 PM    標題: [PHP]Mail函數

最近公司在做電子報,
同事提出可否用PHP來寄發電子報:
做出一個介面讓發送者可以上傳電子報檔案(文字檔、原始檔)與Mail名單(文字檔),
送出後就可以自動將上傳的電子報送到Mail名單所有人的信箱中,

↓其中要用到的mail函數↓

$body = "傳送的電子報內文";
$subject ="傳送電子報標題"
$headers .= "Content-Type: text/html; charset=Big5\n";
$headers = "From: ".寄件者的mail."\r\n";
$email .= mail名單中的所有地址;'這個部份將會測試用迴圈跑
mail($email,$subject,$body,$headers);

請用google大神搜尋php大全

未完待續:)
作者: kangtacat     時間: 2005-8-24 10:34 PM
開啟資料夾可以用函數
opendir('目錄名稱')
開啟上傳的檔案可以用函數fopen
int fopen(string filename , string mode) ;
讀取上傳的檔案可以用函數fread( )
int fread( int fp) ;

作者: kangtacat     時間: 2005-8-26 04:59 PM
公司的電子報訂噩{序

輸入訂器q子報
**** 部分訊息必須回覆後才可以查看 ****
送出後資料的PHP處理
**** 部分訊息必須回覆後才可以查看 ****
作者: kangtacat     時間: 2005-8-26 05:05 PM
電子報線上發送介面
**** 部分訊息必須回覆後才可以查看 ****
檔案送出後將會存在已存在的資料夾裡,
以下是送出後處理
**** 部分訊息必須回覆後才可以查看 ****

[ 本文由 eightwing 於 2005-9-29 在 09:37 PM 作最後編輯 ]

[ 本文由 eightwing 於 2005-9-29 在 09:38 PM 作最後編輯 ]

[ 本文由 eightwing 於 2005-9-29 在 09:38 PM 作最後編輯 ]
作者: eightwing     時間: 2005-9-29 09:49 PM
最後一次小改了程式碼

這個發送介面在公司跑時出了幾個問題....

1.公司Mail service的SMTP設定上需認証後才能發信:
在php.ini設定SMTP後,因為這個原因mail這個函數好像不能設認証的....
後來將php.ini的SMTP設定改為ISP提供的SMTP
(如:Hinet→msa.hinet.net,seednet→seed.net.tw等等)
就可以發送了

2.可以發送後,因為公司的mail名單都是上千上萬封的,
若直接mail()收件者全部塞進去,會出現太多收件者= =|||
又變成發不出去了,
所以改用for迴圈將收件者一個一個寄送

3.檔案fread出來後是一個字串,
不能拿來用迴圈跑,
所以使用字串分割的方式,
explode將字串中,之間分開變成陣列放回去,
如此一來.....收件者變成了單一的,
maillist的格式只要是收件者用,分開,
就可以正常發送了....

明天拿去公司實驗
我完成了~~~之前還因為SMTP的問題卡了很久= =|||
以為白寫了這個介面
作者: eightwing     時間: 2005-9-30 08:54 AM
迴圈太多,執行時超時
加入set_time_limit(0);...




歡迎光臨 下班後論壇-不明所以版  華麗登場 (http://www.eightwing.idv.tw/discuz!/) Powered by Discuz! 3.1.2 Plus