線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4010
推到 Plurk!
推到 Facebook!

NMSMTP的程式和觀念問題

答題得分者是:cuteysc
我叫ㄚ丸
一般會員


發表:16
回覆:35
積分:10
註冊:2005-07-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-08-15 20:43:40 IP:61.229.xxx.xxx 訂閱
小弟在爬文許久!!對SMTP還是存有若干疑問!!
請各位先進幫忙解禍,謝謝!!

對於SMTP觀念疑問如下
1.請問使用SMTP Server無法寄到一般免費信箱嗎??如,yahoo、hotmail等
2.Web Mail就是指上述那些信箱嗎?hotmail或yahoo等
3.請問利用SMTP Server發信對方需要為POP3,也就是說SMTP和POP3互相對應囉?
4.用SMTP Server發信對方的address也必須是有支援SMTP/POP3的信箱囉
5.要去那裡取得免費的SMTP Server的Address呢??
6.另外請問BCB裡有有元件可支援傳Wab mail嗎?
以上是對於SMTP的疑問!請各位先進耐心解答,謝謝!!
對於使用NMSMTP疑問如下
<textarea class="cpp" rows="10" cols="60" name="code"> AnsiString msg,Server,User,Subject,To; int Port=25; if((Form1->Edit1->Text!="")&& (Form1->Edit2->Text!="")&& (Form1->Edit3->Text!="")&& (Form1->Edit4->Text!="")&& (Form1->Edit5->Text!="")) { Server=Form1->Edit1->Text; //<<<問題7在此輸入smtp.pchome.com.tw 可以嗎 Port=Form1->Edit2->Text.ToInt();//按範例是25 User=Form1->Edit3->Text;//<<<問題8此user是指要用smtp的帳號嗎 Subject=Form1->Edit4->Text; To=Form1->Edit5->Text;//<<<問題9收件者可輸入XXX@hotmail.com 等常用的Address嗎 Form1->NMSMTP1->Host=Server; Form1->NMSMTP1->Port=25; Form1->Edit2->Text=IntToStr(Port); Form1->NMSMTP1->User; Form1->NMSMTP1->Connect(); Form1->NMSMTP1->PostMessageA->FromAddress=User "@" Server; Form1->NMSMTP1->PostMessageA->FromName=User; Form1->NMSMTP1->PostMessageA->Subject=Subject; Form1->NMSMTP1->PostMessageA->ToAddress->Add(To); Form1->NMSMTP1->PostMessageA->Body->Assign(Form1->Memo1->Lines); Form1->NMSMTP1->SendMail(); } </textarea>

就程式問題補充說明
問題7 是要輸入SMTP Server 因此我去PChome申請smtp.pchome.com.tw 但似乎無法用
問題8是要輸入帳號也就是我的PChome帳號嗎??但我的mail address不就變成XXX@smtp.pchome.com.tw 了!對嗎??
問題9收件者address也是要填入YYY@smtp.pchome.com.tw 嗎??或是任一家支援smtp的信箱都可呢??

關於7~9問題我曾用cuteysc大大的http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=31467試著跑但不管怎麼填都無法寄信
所以我想根本是我填錯!!

由於我完全不知道SMTP和POP3是什麼??故找到下面連結有滿詳細介紹也分享給大家
http://jeantean.idv.tw/computer/mail/index.htm?seenIEPage=1

其實我有在想根本PChome 的SMTP無法用NMSMTP元件!!我猜測是跟認證有關!!也不知道對否??
若PChome 真無法用NMSMTP那請問各位是去那得到可以使用的SMTP Server可否分享給我,謝謝

最後很抱歉給各位先進提了那麼多問題!!雖然我知道許多問題在你們眼中很低階!!但對於很想學習的大外行
真的有很大很大的幫助!!謝謝!!

cuteysc
初階會員


發表:16
回覆:37
積分:35
註冊:2003-05-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-08-15 22:36:43 IP:61.230.xxx.xxx 訂閱
直接給你看我的發信函式好了

比如您寄出者的 Mail 是 ysc@ms.chatking.com.tw 的話, 那麼 ysc 就是你的 UserID
Host 就是您 SMTP Server 的 IP 或是 DomainName

參考看看吧

//---------------------------------------------------------------------------
inline void __fastcall TMainForm::MailTo(AnsiString Host,AnsiString FromAddress,AnsiString FromName,AnsiString ToAddress,AnsiString Subject,TStrings* Body,AnsiString CharSet)
{
TNMSMTP *NMSMTP1;
NMSMTP1=new TNMSMTP(this);
NMSMTP1->ClearParams=false;
NMSMTP1->Charset=CharSet;
NMSMTP1->Host=Host;
NMSMTP1->FromAddress.SubString(1,FromAddress.AnsiPos("@")-1);
NMSMTP1->Port=25;
NMSMTP1->PostMessage->FromAddress=FromAddress;
NMSMTP1->PostMessage->FromName=FromName;
NMSMTP1->PostMessage->ToAddress->Add(ToAddress);
NMSMTP1->PostMessage->Body->Assign(Body);
NMSMTP1->PostMessage->Subject=Subject;
try
{
NMSMTP1->Connect();
NMSMTP1->SendMail();
NMSMTP1->Disconnect();
}
catch(...)
{
}
delete NMSMTP1;
}

編輯記錄
cuteysc 重新編輯於 2007-08-15 22:41:22, 註解 無‧
我叫ㄚ丸
一般會員


發表:16
回覆:35
積分:10
註冊:2005-07-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-08-16 10:28:03 IP:163.29.xxx.xxx 訂閱
首先謝謝cuteysc大大的回覆
但小弟整理一下觀念,請您幫忙看對否,謝謝!!
以我在PChome申請的帳號為例
nomo33XX@pchome.com.tw
若要用SMTP Server時(用NMSMTP去寄信時)
就要改成 nomo33XX@smtp.pchome.com.tw嗎??
而其中
nomo33XX =User ID = FromName(信箱帳號)嗎??

smtp.pchome.com.tw =SMTP Server IP 嗎??

為了證明我以上說的是對的
我利用 您的作品去驗證
http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=31467
並分別在.exe檔填入如下
第1組
郵件伺服器名稱 : smtp.pchome.com.tw
您的EMaill : nomo33XX@smtp.pchome.com.tw
收件者EMaill :nomo33XX@smtp.pchome.com.tw
我要自己傳給自己 來證明是否有收到信
第2組
郵件伺服器名稱 : smtp.pchome.com.tw
您的EMaill : nomo33XX@pchome.com.tw
收件者EMaill :nomo33XX@smtp.pchome.com.tw
第3組
郵件伺服器名稱 : pchome.com.tw
您的EMaill : nomo33XX@pchome.com.tw
收件者EMaill :nomo33XX@smtp.pchome.com.tw

而郵件內容主指都打123
但執行時
都是 傳送郵件發生錯誤

故想請問 我應該要怎麼填入才對 呢
或是pchome的SMTP Server無法用NMSMTP呢??
謝謝!!又給先進帶來沒深度的問題!!但我一直重覆去測試都無法成功
請 先進 可以指點一下,謝謝!!
我叫ㄚ丸
一般會員


發表:16
回覆:35
積分:10
註冊:2005-07-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-08-16 10:31:46 IP:163.29.xxx.xxx 訂閱
補充
smtp.pchome.com.tw =SMTP Server IP = Host 嗎??
謝謝
cuteysc
初階會員


發表:16
回覆:37
積分:35
註冊:2003-05-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-08-16 19:17:07 IP:220.132.xxx.xxx 訂閱
你加入我 MSN 好了 ysc0723@hotmail.com

===================引 用 我叫丸 文 章===================
補充
smtp.pchome.com.tw =SMTP Server IP = Host??嗎??
謝謝
我叫ㄚ丸
一般會員


發表:16
回覆:35
積分:10
註冊:2005-07-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-08-16 20:55:08 IP:61.229.xxx.xxx 訂閱
真的太感謝cuteysc 先進了
我已經加入您的MSN address了
我的MSN address 為nomo3300@hotmail.com
最後還是跟您 在說聲 謝謝!!
我叫ㄚ丸
一般會員


發表:16
回覆:35
積分:10
註冊:2005-07-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-08-16 22:16:38 IP:61.229.xxx.xxx 訂閱
真的很感謝cuteysc先進的幫忙
在這 就此問題做個結論

由於現在一般網路上得到的SMTP Server
都需先經過驗證的步驟以防止垃圾信或其他
而NMSMTP並沒有驗證的功能去做驗證的手續
故造成無法使用

而解決方式
1. 讓NMSMTP由程式去使它有驗證機能(記得在爬文時有在大陸網站看到)
2. 使用具有驗證功能的Indy元件(我使用BCB5.0沒有此元件,要試著去安裝)

以上驗證指輸入帳號密碼
而大陸網站看到之範例我在試著回去找出來
以上是結論!! 最後在一次謝謝cuteysc前輩的幫忙 感謝
系統時間:2024-03-29 2:46:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!