作者 主題: 關於mail() 一問  (閱讀 5777 次)

0 會員 與 1 訪客 正在閱讀本文。

derek

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
關於mail() 一問
« 於: 2002-09-20 22:52 »
linux redhat linux7.3, sendmail(port: 25) php+apache

想問一下為何mail() 只可對內寄信, 但對外寄信就不行, 怎樣才可對外寄信呢??

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
Re: 關於mail() 一問
« 回覆 #1 於: 2002-09-20 22:56 »
引述: "derek"
linux redhat linux7.3, sendmail(port: 25) php+apache

想問一下為何mail() 只可對內寄信, 但對外寄信就不行, 怎樣才可對外寄信呢??


事實上是可以的...
我就常用mail()的函式寄信出去...

你用什麼方式寫的? 為何不行?

小穎

  • 俺是博士!
  • *****
  • 文章數: 1005
    • 檢視個人資料
關於mail() 一問
« 回覆 #2 於: 2002-09-20 23:56 »
應該要先確定sendmail本身可以對外寄出信件!@@

derek

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
關於mail() 一問
« 回覆 #3 於: 2002-09-21 08:51 »
謝!  小弟的sendmail 本身是可以對外寄信, 還安裝了openwebmail 和 twig, 全部都可以對外寄信, 但用mail() 卻不行 , 是否要另外設定什麼? 例如 php.ini 或 sendmail.cf

小弟的程式碼如下:

$myname = "Me Myself";
$myemail = "myself@email.com";

$contactname = "Mister Contact";
$contactemail = "contact@email.com";  這裏打本機的E-mail 就可寄出, 但打 @hotmail 之類的, 就不行了.

$message = "hello from happy me";
$subject = "A mail not refused by Hotmail";

$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ".$myname." <".$myemail.">\r\n";
$headers .= "To: ".$contactname." <".$contactemail.">\r\n";
$headers .= "Reply-To: ".$myname." <$myreplyemail>\r\n";
$headers .= "X-Priority: 1\r\n";
$headers .= "X-MSMail-Priority: High\r\n";
$headers .= "X-Mailer: Just My Server";

mail($contactemail, $subject, $message, $headers);

當對外寄信後, 總是會收到 "Returned mail: see transcript for details" 為主旨的 E-mail

學飛的小鳥

  • 活潑的大學生
  • ***
  • 文章數: 349
    • 檢視個人資料
關於mail() 一問
« 回覆 #4 於: 2002-09-22 01:37 »
何不看一下maillog有什麼訊息!!..