2012-06-25 101 views
0

所以我試圖使用PHP的郵件()函數發送電子郵件時,用戶註冊。 由於某種原因,它拒絕發送到公司的電子郵件。是否有一些額外的參數,我可能會錯過,我需要這樣的事情,或者你認爲它是從公司的電子郵件過濾這些電子郵件了嗎?PHP郵件()函數不工作到辦公室電子郵件

編輯: 下面是一些代碼:

$to = '[email protected]'; 
$subject = 'New Web Registration'; 
$from = 'Quote Registration'; 

$headers = 'Content-type: text/html charset=iso-8859-1\r\n'; 
$headers .= 'From: ' . $from; 

$body = '<table> 
     <tr> 
      <td style="text-align: right;">WebUserID:</td> 
      <td>' . $wuid . '</td> 
     </tr> 
     <tr> 
      <td style="text-align: right;">Name: </td> 
      <td>' . $regdata['Name'] . '</td> 
     </tr> 
     <tr> 
      <td style="text-align: right;">Company:</td> 
      <td>' . $regdata['Company'] . '</td> 
     </tr> 
     <tr> 
      <td style="text-align: right;">Address:</td> 
      <td>' . $regdata['Address'] . '</td> 
     </tr> 
     <tr> 
      <td style="text-align: right;">CSZ:</td> 
      <td>' . $regdata['City'] . ', ' . $regdata['State'] . ' ' . $regdata['Zip'] . '</td> 
     </tr> 
     <tr> 
      <td style="text-align: right;">Phone:</td> 
      <td>' . $regdata['Phone'] . '</td> 
     </tr> 
     <tr> 
      <td style="text-align: right;">Fax:</td> 
      <td>' . $regdata['Fax'] . '</td> 
     </tr> 
     <tr> 
      <td style="text-align: right;">URL:</td> 
      <td>' . $regdata['URL'] . '</td> 
     </tr> 
     <tr> 
      <td style="text-align: right;">Email:</td> 
      <td>' . $email . '</td> 
     </tr> 
     <tr> 
      <td style="text-align: right;">Comments:</td> 
      <td>' . $regdata['Comments'] . '</td> 
     </tr> 
     <tr> 
      <td style="text-align: right;">Customer Group:</td> 
      <td>' . $regdata['CustomerGroup'] . '</td> 
     </tr> 
     <tr> 
      <td style="text-align: right;">How Heard</td> 
      <td>' . $regdata['HowHeard'] . '</td> 
     </tr> 
     </table>'; 

if (!mail($to, $subject, $body, $headers)) { 
    echo 'Message delivery failed.'; 
} 

而且它成功地通過電子郵件發送給Gmail等其他領域。交貨/過濾問題?

+2

讓我們看看你的代碼! – wallyk

+0

是否會成功發送電子郵件到*其他*域? – jedwards

+0

最有可能是交付/過濾器問題,而不是您的代碼,但沒有我們無法說明的代碼。你有沒有檢查你的錯誤日誌? – j08691

回答

1

如果它成功發送到其他域而不是它與您公司的郵件服務器有關的問題。電子郵件可能被過濾爲垃圾郵件或類似的東西。

一個簡單的解決方案是使用STMP,或者您可以通過查看郵件服務器的日誌來了解爲什麼要被過濾。

確保您發送整個html消息,如果您將它們發送爲html。 (標籤和所有)。

0

我向您提供發送郵件的代碼。它在我的應用程序中工作正常。希望它能幫助你。

function sendmail($username) 
{ 
    $from  =  "[email protected]"; 
    $to  =  "[email protected]"; 
    $subject =  "My Test Subject"; 
    $body  =  "My Test Body"; 
    $headers .=  "From:".$from ."". "\r\n"; 

    if (mail($to ,$subject ,$body,$headers)) 
    { 
     $msg = "Your message has been sent."; 
    } 
    else 
    { 
     $msg = "Error in Sending the Message. Please try again."; 
    } 
    return $msg; 
} 
+0

這個函數似乎不會返回任何東西。請添加返回關鍵字而不是$味精 – Yang

+0

該函數也有一個無用的參數和硬編碼字段。非常無用的功能。 –

+0

你可以自定義它作爲你的.. –