OpenSourceInstall.org - PHPSurveyor 實作經驗分享 - 搭配 PHPList 來發送大量邀請信

来源:百度文库 编辑:神马文学网 时间:2024/04/29 00:47:51
PHPSurveyor 實作經驗分享 - 搭配 PHPList 來發送大量邀請信 2008/05/23, 週五

PHPSurveyor 能在短時間內製作線上問卷,只要了解它的 問卷(Survey) 、群組 (Group) 、問題 (Question) 架構,製作一份線上問卷便不是一件困難的事情。本站在4月份進行了一次會員問卷調查,受訪者有8千多位,問卷以記名方式來進行。 製作線上問卷所花的時間不長, 但是正當要發送問卷邀請信給8千多名會員時,我們發現 PHPSurveyor 並不適合發送大量信件。 它每次最多能發出 50 封信,要發出 8000 多封信會是一個費時費力的工作。

.thinborderfloat { float:left; border:solid 1px silver; padding:5px; margin-right:10px; } .style1 { font-size: large; font-weight: bold; } .mypre { padding: 1em; border: 1px dashed #2f6fab; color: black; background-color: #f9f9f9; line-height: 1.1em; }

借用 PHPList 電子報發送的能力

PHPList 是另一套用 PHP 來撰寫的開放原始碼工具,能在固定的時間內自動把信件批次寄出。 本站的電子報便是利用 PHPList,自動把會員電子報送到會員的信箱。 如果要使用 PHPList 來寄問卷邀請信,我們必須克服兩大問題:

  1. 把會員名單匯入到 PHPList 發送名單(使用 PHPList 的匯入功能)
  2. 把會員的問卷網址放入信的內容。 (因為每一位會員的問卷網址都不一樣)

 


一、 準備您的問卷受訪者清單

您必須要先準備好您的問卷要訪問的對象,記錄他們的電子郵件、姓名、或其它資料。 我們從 OpenSourceInstall.org 網站的資料庫以 CSV 格式匯出了所有會員的電子郵件和姓名。

 

二、把名單匯入到 PHPSurveyor

PHPSurveyor 有提供 CSV 名單匯入功能,您的 CSV 檔案必須要有以下的欄位(範例):

firstname, lastname, email
"小明","王"," demouser1@hundredplus.com 這個email住址已經被防垃圾郵件程式保護,您需要啟動Javascript才能觀看 "
"二明","王"," demouser2@hundredplus.com 這個email住址已經被防垃圾郵件程式保護,您需要啟動Javascript才能觀看 "
"三明","王"," demouser3@hundredplus.com 這個email住址已經被防垃圾郵件程式保護,您需要啟動Javascript才能觀看 "
"四明","王"," demouser4@hundredplus.com 這個email住址已經被防垃圾郵件程式保護,您需要啟動Javascript才能觀看 "

 

三、為每一位受訪者產生確認碼

由於我們的問卷是以記名方式進行,每一位受訪者將會收到不一樣的網址,主要的差別便是多出一個亂數部份,例如:

http://tw.opensourceinstall.org/survey/index.php?sid=69514&token=21939218

21939218 便是所謂的確認碼,用來代表某一位受訪者的資料。 透過的 PHPSurveyor 的後台管理,只要把受訪者資料匯入成功後,便能為每一位產生一個確認碼。

 

四、匯出受訪者清單

由於我們不打算透過 PHPSurveyor 來寄出邀請信,我們必須把受訪者名單匯出,然後依照 PHPList 的方式匯入成新的發送清單。 匯出的動作很簡單,只要點選 導出 csv 檔案格式的確認碼 (如下圖所示)。

 

五、將 CSV 檔案修正成 PHPLIST 可匯入格式

以下是從 PHPSurveyor 匯出來的 CSV 檔案範例:

Tid, Firstname, Lastname, Email, Token , Language, Attribute1, Attribute2, mpid
"1","小明","王"," demouser1@hundredplus.com 這個email住址已經被防垃圾郵件程式保護,您需要啟動Javascript才能觀看 ","2871198425","zh-tw","","",""
"2","二明","王"," demouser2@hundredplus.com 這個email住址已經被防垃圾郵件程式保護,您需要啟動Javascript才能觀看 ","3557843348","zh-tw","","",""
"3","三明","王"," demouser3@hundredplus.com 這個email住址已經被防垃圾郵件程式保護,您需要啟動Javascript才能觀看 ","2137686691","zh-tw","","",""
"4","四明","王"," demouser4@hundredplus.com 這個email住址已經被防垃圾郵件程式保護,您需要啟動Javascript才能觀看 ","7184182814","zh-tw","","",""

由於 PHPSurveyor 和 PHPList 所接受的匯入檔案格式不一樣,我們必須針對這個檔案作出修改。 我們推薦使用 Openoffice.org Calc 來編輯 CSV 檔案內容。 相較於 MS Excel,它完全支援 UTF-8 檔案,修改後的 CSV 檔案也能儲存為 UTF-8 格式。 不管您的受訪者名稱是否為簡體字、日文或韓文都不會造成亂碼問題。

利用 Calc 來移除 Tid,Language,Attribute1, Attribute2, mpid 欄位。

 

六、製作出新的 CSV 檔案

當使用 Calc 來儲存新的 CSV 檔案時,請特別注意不要用雙引號 ( " )作為 CSV 檔案的文字分隔符號。 利用 Calc 在儲存時提供的選項作出適當的調整。 (點選 檔案 => 另存新檔 => 勾選編輯篩選設定 => 儲存檔案,此時會彈跳出一對話視窗如下圖。)

清空文字分隔符欄位,並將字型修改為 Unicode (UTF-8)。 確認後點選確定按鈕,即可完成儲存的動作。

利用文字編輯器檢視您剛製作的檔案,檔案格式應該像以下格式:

Firstname, Lastname, Email, Token
小明,王, demouser1@hundredplus.com 這個email住址已經被防垃圾郵件程式保護,您需要啟動Javascript才能觀看 ,2871198425
二明,王, demouser2@hundredplus.com 這個email住址已經被防垃圾郵件程式保護,您需要啟動Javascript才能觀看 ,3557843348
三明,王, demouser3@hundredplus.com 這個email住址已經被防垃圾郵件程式保護,您需要啟動Javascript才能觀看 ,2137686691
四明,王, demouser4@hundredplus.com 這個email住址已經被防垃圾郵件程式保護,您需要啟動Javascript才能觀看 ,7184182814

 

七、在 PHPLIST 中建立使用者自訂欄位

記得我們在 PHPSurveyor 為每一位受訪者產生了一個確認碼,這些額外資料都會變成 PHPList 中使用者的自訂欄位資料。 以系統管理者 登入 PHPLIST 後,先建立一個發送清單,然後在使用者設定中建立新的自訂欄位 ,分別為 Firstname,Lastname 和 Token,讓每一筆 PHPList 的收件者都有這三筆資料。 當新增自訂欄位完成後,可看到新增的欄位如下圖。

 

八、建立新的 PHPLIST 發送清單

點選 管理使用者 => 匯入使用者,即可開始執行檔案匯入,而匯入使用者有四個選項可以選擇,依照我們檔案的特性,請選擇 從 csv 檔案匯入訂閱者(訂閱者有不同的屬性值)。 匯入時請使用以下選項:

  • 檔案包含電子郵件數量:選擇剛剛編輯好的 CSV 檔案
  • 欄位分隔字元:依照之前提示,輸入逗號 ( , )。
  • 測試輸出:使用者若擔心填寫錯誤可先測試匯入。
  • 立刻訂閱:若你不需要測試,可直接勾選立刻訂閱。

請確認無誤後,點選匯入按鈕,即可完成確認。

 

九、編寫邀請信樣板

最後,我們透過 PHPList 來撰寫開卷邀請信。 信件內容其實跟 PHPSurveyor 的邀請信大同小異,唯一要注意的地方是必須將受訪者正確的問卷網址,以 Placeholders ( 網站變數 )方式填入。 Placeholders 的樣子通常為 [SOMETEXT],我們以本站上次所寄送的邀請信為例。

紅色的圈選,即我們之前所建立的自訂欄位名稱。郵件正下方的 URL 是受訪者問卷網址,當電子郵件寄出時,所有 Placeholder 都會被使用者的實際的資料所取代,如果一切順利完成,即可開始的寄發問卷的邀請信。