在PHP中使用Pear 的NetMail發送smtp郵件

來源:互聯網
上載者:User

最近看到不少關於用smtp發郵件的文章,其實除了自己寫以外,php的官方組件庫還提供了一個netmail組件可以發送郵件。下面簡單介紹使用的方法

1 下載NetMail,SMTP,SASL,SOCKET等幾個pear組件,當然還包括pear.php這個模組。注意最新版本的檔案裡面最後面缺少 “?>“ 要自己補上。 

在你的webapp目錄下建立一個inc/pear目錄,一般不要使用系統的pear庫,因為一可能會有版本問題,二pear使用時需要設定require的路徑,而每一個程式可能都有差別。

把所有的包放在inc/pear裡面後,修改每一個檔案裡面requirel_once的地方,在檔案名稱前面加上你自己的路徑,相對位置從你要執行發送程式的目錄開始,大致如下

require_once(PEAR_PATH.'Mail.php');

裡面的PEAR_PATH可以控制不同目錄下的檔案調用時根據自己的當前所在路徑來具體設定

2 發送程式

設定smtp的訪問使用者名稱,密碼

$params = array('host' => 'localhost',
                'port' => '25',
                'username' => 'danny@xxx.gov.cn',
                'password' => 'danny');

  //$to = $test_mail;
  $recipients = $to; 接收人,可以是一個數組來存放多個地址

  $headers['From']    = $email;
  $headers['To']      = $to;
  $headers['Subject'] = $subject;

  $body = $message;
  //選擇smtp的發送方式,當然還支援mail()和sendmail
  $mail_object = &Mail::factory('smtp', $params);
  if (PEAR::isError($e = $mail_object->send($recipients, $headers, $body))) {
    die($e->getMessage() . "/n");
  }

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=468996

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.