作者 主題: 關於郵件寄送的問題  (閱讀 3847 次)

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

wing5217

  • 懷疑的國中生
  • **
  • 文章數: 58
    • 檢視個人資料
關於郵件寄送的問題
« 於: 2010-03-14 18:19 »
請教一下各位學長

是不是只有windows下能用

[mail function]
; For Win32 only.
SMTP = xxx.xxx.xxx.xxx
; For Win32 only.
sendmail_from = xxx@xxx.xxx.xxx

修改為自己的isp業者發信

而在linux 下一定要自己架mailserver 發信呢?

有爬過文http://phorum.study-area.org/index.php/topic,36068.0.html

但不是很了解裡面的意思

裡面提到的PEAR  PHPMailer 是指不用 架mailserver  而直接去用php去跟smtp做發信的動作嗎?

有經驗的學長可否回答一下

還有自己架mailserver 跟用PEAR  PHPMailer 差別是??

會分別遇到那些問題呢?

謝謝

appleboy

  • 活潑的大學生
  • ***
  • 文章數: 224
    • 檢視個人資料
    • 小惡魔筆記
回覆: 關於郵件寄送的問題
« 回覆 #1 於: 2010-03-15 15:36 »
請教一下各位學長

是不是只有windows下能用

[mail function]
; For Win32 only.
SMTP = xxx.xxx.xxx.xxx
; For Win32 only.
sendmail_from = xxx@xxx.xxx.xxx

修改為自己的isp業者發信

而在linux 下一定要自己架mailserver 發信呢?

基本上,現在 Linux 剛架設完成預設都是用 sendmail 發信,上面是因為 Windows 預設不開啟 25 port,所以才必須要設定 ISP smtp。

有爬過文http://phorum.study-area.org/index.php/topic,36068.0.html

但不是很了解裡面的意思

裡面提到的PEAR  PHPMailer 是指不用 架mailserver  而直接去用php去跟smtp做發信的動作嗎?

phpMailer 跟 mail server 是兩回事,利用 phpMailer 發信,但是你也是要有可以使用的 smtp server(例如 ISP mail server)

phpMailer 只是提供您 php 程式,真正寄信還是要透過 mail server。

有經驗的學長可否回答一下

還有自己架mailserver 跟用PEAR  PHPMailer 差別是??

會分別遇到那些問題呢?

謝謝

遇到哪些問題,你試試看不就知道了?先看懂  phpMailer 怎麼使用比較重要....

歡迎來到 CodeIgniter 繁體中文討論區
My Blog:小惡魔 - 電腦技術 - 生活日記 - 美食介紹 - AppleBOY

wing5217

  • 懷疑的國中生
  • **
  • 文章數: 58
    • 檢視個人資料
回覆: 關於郵件寄送的問題
« 回覆 #2 於: 2010-03-15 20:35 »
appleboy 學長

我想請問一些問題


基本上,現在 Linux 剛架設完成預設都是用 sendmail 發信,上面是因為 Windows 預設不開啟 25 port,所以才必須要設定 ISP smtp。


你說的Windows 預設不開啟 25 port

是指php.ini裡的smtp_port = 25嗎?

這不是設定給isp業者smtp的port嗎?我有點不太了解


另外Linux 剛架設完成"預設"都是用 sendmail 發信

這邊sendmail程式是說直接用本機localhost發信嗎?

那Linux下能有直接設定isp業者smtp轉寄信的方式嗎?


我有去下載phpmailer了 不過也有遇到一些問題

它裡面有3個方法

學長說的
phpMailer 跟 mail server 是兩回事,利用 phpMailer 發信,但是你也是要有可以使用的 smtp server(例如 ISP mail server)

應該是指使用IsSMTP()吧??

1.IsSMTP() 透過smtp驗證用自己的信箱寄件

2.IsMail() 透過isp業者smtp轉送信件

3.IsSendmail() 的說明是Sets Mailer to send message using the $Sendmail program.

方法3是不是學長指的Linux 剛架設完成預設都是用 sendmail 發信   所以 linux上要用IsSendmail() 方法寄信

所以是不是方法2跟3分別只能在windows跟linux上執行

而用方法1只要能設定好 就可在2個平台上使用


上面如果有說錯 請學長糾正一下


不過我用方法1

用gmail寄出測試

設定IsHTML(false)

public function IsHTML($ishtml = true) {
    if ($ishtml) {
      $this->ContentType = 'text/html';
    } else {
      $this->ContentType = 'text/plain';
    }
  }

發現只傳送純文字時$mail->Body = "PHPMailer Test \nSubject via mail()\n, advanced";

"\n" 會直接讓內容換行

信件會直接顯示

PHPMailer Test
Subject via mail()
, advanced



請問學長是為什麼呢?

麻煩學長指導了 謝謝


« 上次編輯: 2010-03-16 03:20 由 wing5217 »

johnpupu

  • 憂鬱的高中生
  • ***
  • 文章數: 194
    • 檢視個人資料
回覆: 關於郵件寄送的問題
« 回覆 #3 於: 2010-03-17 09:45 »
google sendmail..
仔細看完phpmailer 裡面的範例~~ 有很多方式是你可以使用的~~