全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3406
推到 Plurk!
推到 Facebook!

誰用過IDSMTP發送郵件?請進來一下.

答題得分者是:axsoft
takdick
一般會員


發表:50
回覆:63
積分:22
註冊:2002-08-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-08-25 15:44:58 IP:203.198.xxx.xxx 未訂閱
請問配合IDSMTP發送郵件用的IDMESSAGE這一控件放在哪裡,我找不到. 請幫忙,問了很多地方都沒人答. 謝謝.
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-08-26 10:00:03 IP:61.218.xxx.xxx 未訂閱
引言: 請問配合IDSMTP發送郵件用的IDMESSAGE這一控件放在哪裡,我找不到. 請幫忙,問了很多地方都沒人答. 謝謝.
如果您的Delphi或BCB版本為v6.0,去找一下Compments palette的Indy Misc頁面就有您要的IdMessage元件, 如果不是上述版本,請到Indy的網站下載. http://www.nevrona.com/Indy/ Indy 9.0.10 下載 參考資料:http://www.tutorials.delphi-source.de/indy/file011.shtml
Indy: SMTP (TIdSMTP)
SMTP allgemein Nachdem wir nun schon das POP besprochen haben, kommen wir nun zu dem Protokoll, das für den Mailtransport vom Absender bis zum Mailserver des Empfängers zuständig ist, dem Simple Mail Transfer Protocol (SMTP). Bereits das erste Wegstück zwischen Mailprogramm und Server des Mailproviders wird per SMTP zurückgelegt. Standardmäßig funktioniert SMTP ohne Authentifizierung. Dies brachte das Problem mit sich, dass jeder Mails über beliebige SMTP-Server mit beliebiger Absenderadresse verschicken konnten. Die meisten Mailprovider sind inzwischen dazu übergegangen, Schutzmechanismen zu implementieren. Die einen verwenden "SMTP after POP" - erst wenn man sich beim Abruf von Mails per POP authentifiziert hat, hat man einen gewissen Zeitraum, um Mails zu verschicken. Andere setzen auf SMTP AUTH, eine Erweiterung des SMTP-Protokolls, die - wie auch POP - Benutzername und Passwort verlangt. Ist die Mail erst einmal im Internet, wird sie über mehrere SMTP-Server weitergereicht, bis sie im Zielsystem (Domäne) angekommen ist. Hier wird geprüft, ob der Benutzer, der vor dem @-Zeichen der E-Mail-Adresse angegeben ist, überhaupt ein Postfach auf diesem Server besitzt. Falls nicht, schickt der Mailerdämon die Mail mit einem entsprechenden Vermerk wieder zurück an den Absender. Jede Zwischenstation hinterlässt dabei eine Spur im Header der Mail, so dass sich der Weg nachverfolgen lässt. Siehe auch RFC 821, Simple Mail Transfer Protocol (SMTP), August 1982 RFC 1896, SMTP Service Extensions, Februar 1996 RFC 2554, SMTP Service Extensions for Authentification, März 1999 IdSMTP Das Indy-Beispielprogramm ist das gleiche wie bei POP3, nämlich im Verzeichnis MailClient. Die Anwendung enthält eine Unit MsgEditor mit einem Fenster, über das die Mail erstellt und anschließend verschickt wird. Auch hier wird wieder Gebrauch von IdMessage gemacht, die alle Daten der Nachricht hält. Verbindung zum SMTP-Server aufbauen
  //Authentifizierung nötig?
  case SmtpAuthType of
    0: SMTP.AuthenticationType := atNone;
    1: SMTP.AuthenticationType := atLogin; {Simple Login}
  end;      //Benutzerdaten für Authentifizierung
  SMTP.UserID := SmtpServerUser;
  SMTP.Password := SmtpServerPassword;      //Server-Daten
  SMTP.Host := SmtpServerName;
  SMTP.Port := SmtpServerPort;      SMTP.Connect;Mail verschicken
Da sich die Mail schon in der IdMessage-Komponente befindet, ist keine große Arbeit mehr nötig, um sie zu verschicken:
  try
    SMTP.Send(IdMessage);
  finally
    SMTP.Disconnect;
  end;
Anschließend wird die Verbindung zum SMTP-Server wieder getrennt. Indy: TIdMessage Bei der Komponente IdMessage handelt es sich um kein Internetprotokoll, sondern um eine Klasse, deren Aufgabe es ist, eine Internet Message aufzunehmen. Deshalb befindet sie sich im Register "Indy Misc". U.a. wird IdMessage im Zusammenhang mit Mails (POP3, SMTP) und im Zusammenhang mit News (NNTP) benötigt. Auch MIME (Multipurpose Internet Mail Extensions) werden unterstützt. Nichtsdestotrotz handelt es sich hierbei nicht um ein Datenformat, dass sich die Indy-Entwickler ausgedacht haben. Auch hierfür gibt es Standards, die in RFCs festgehalten sind: RFC 822, Standard for the Format of ARPA Internet Text Messages, August 1982 RFC 1036, Standard for Interchange of USENET Messages, Dezember 1987 RFC 2045, Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, November 1996 RFC 2046, Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types, November 1996 RFC 2047, Multipurpose Internet Mail Extensions (MIME) Part Three: Message Header Extensions for Non-ASCII Text, November 1996 RFC 2048, Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures, November 1996 RFC 2049, Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples, November 1996 IdMessage IdMessage enthält Eigenschaften für alles, was man aus einer Mail kennt. Z.B. könnte eine Message so zusammengebaut werden:
  with IdMessage do begin
    Body.Assign(Memo1.Lines);
    // Name des Absenders
    From.Text := UserEmail;
    //E-Mail-Adressen der Empfänger (durch Komma getrennt)
    Recipients.EMailAddresses := edtTo.Text;
    //Betreff (Subject) der Mail
    Subject := edtSubject.Text;
    //Priorität
    Priority := mpNormal;
    //E-Mail-Adressen der Kopie-Empfänger (CC=Carbon Copy)
    CCList.EMailAddresses := edtCC.Text;
    //E-Mail-Adressen der versteckten Kopie-Empfänger (BCC=Blind Carbon  Copy)
    BccList.EMailAddresses := edtBCC.Text;
  end;Anhänge
Eine interessante Eigenschaft ist noch MessageParts. Sie enthält eine Liste aller Teile einer Nachricht. Hierbei handelt es sich um einen Textteil (den Body) oder um Anhänge. Wie diese dann extrahiert werden, ist im Beispiel zur POP3-Komponente zu sehen. 聯盟----Visita網站http://www.vista.org.tw ---[ 發問前請先找找舊文章 ]---
鈴鐺
初階會員


發表:33
回覆:81
積分:35
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-09-02 14:21:18 IP:61.220.xxx.xxx 未訂閱
哈哈, 我也遇到同樣問題, 不過我的經驗是我已經裝了 indy 9.0 因為元件太多, 所以實在難找. 最後用 Menu->New->Component List->打字 TIDMess 就找到了. 後來比對一下 icon, 才找到放在 Indy Misc 第五項.
系統時間:2024-04-25 19:17:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!