各位前輩好,我是php初學者,由於公司需要,我用php+myqsql自已做了一個有留言板的網站,網站已完成基本功能都正常。(公司用iis)
我想加入一個功能,當留言者留言後,資料儲存後會再寄發email給我。
以便我們可以在很短的時間回覆給使留言者。
我上網找了資料,陸續做了測試,但一直沒有測成功,錯誤訊息看不是很出來,
不曉得是否有前輩可幫幫忙^^先感謝大家。
我的php.ini修改成:
[mail function]
; For Win32 only.
SMTP = msa.hinet.net
smtp_port = 25
; For Win32 only.
sendmail_from = test@ms68.hinet.net
然後我在插入記錄的語法後面,加入下面的程式…
但可以留言,但沒有收到信~~~
我反覆試過很多種寫法,都是可以留言,但沒有收到email,也沒有錯誤訊息,
有點奇怪~~~
我找到很多文章,都是在介紹mail函數的使用,
不過我不曉得如何先將資料儲存後再使用mail函數,
所以很多資料沒有看懂。
再次感謝各位前輩。謝謝。
http://sourceforge.net/projects/phpmailer/
利用phpmailer工具
用身份驗證方式寄信吧
relay的寄信遲早會被spam擋掉
DEAR hojc前輩您好:
請問若是用phpmailer的話,我是用dreamweaver做的php網站,請問我要如何使用它才能讓他在插入記錄後,執行mail的功能呢^^
非常感謝您。(這個問題感覺非常白癡,不過我卻卡在這個白癡的問題囧…再次感謝您。)
首先不敢當前輩之稱
泛泛網友中僅只是被知識分享受益者
關於phpmailer google搜尋眾多資料 不及詳述敬請見諒!
用法大約可以解釋
將phpmailer的程式放置在自己程式目錄之中
利用php "include" or "require_once"的語法將class.phpmailer.php 程式帶入自己將執行之程式
ex.
<pre class="c" name="code">
<?
include("./phpmailer/class.phpmailer.php"); //匯入PHPMailer類別
if($input <> ''){
$sql = "INSERT INTO some_one_table (input) VALUES ('$input')";
$query = mssql_query($sql, mssql_connect("IP","帳號","密碼") );
$mail= new PHPMailer(); //建立新物件
$mail->IsSMTP(); //設定使用SMTP方式寄信
$mail->SMTPAuth = true; //設定SMTP需要驗證
$mail->Host = "smtp.abc.com.tw"; //設定SMTP主機
$mail->Port = 25; //設定SMTP埠位,預設為25埠。
$mail->CharSet = "big5"; //設定郵件編碼
$mail->Username = "some_one@fmp.com.tw"; //設定驗證帳號
$mail->Password = "some_password"; //設定驗證密碼
}
?>
....
<form action="'.$PHP_SELF.'" method="POST" name="form1" >
<input type=input name=input size=10>
<input type=submit name=ok value=寫入送出>
</form>
以上程式大抵是如此
因phpmailer有分php版本之別 這點請使用時注意版本
希望這樣說明有所幫助
你有先看過 PHP 的 FAQ 文件嗎?
...是什麼東西阿?這應該不會在合法的email地址裡面出現吧?把他拿掉吧。另外,$config應該不是需要的東西,這個參數可以省略。(在UNIX環境下,用一些MTA例如sendmail來送信時,可以用這個傳參數,這個在windows底下的php應該不會用到)
有看過mail函數的說明嗎:
http://tw2.php.net/manual/en/function.mail.php
不清楚你的test.txt是不是一個php檔,如是的話,那你的code裡有一段是重複的(38~57行),在56行時就會重導到另一頁面,所以不會執行到下面有關mail(73~78行)的敘述了。