誰用過IDSMTP發送郵件?請進來一下. |
答題得分者是:axsoft
|
takdick
一般會員 發表:50 回覆:63 積分:22 註冊:2002-08-05 發送簡訊給我 |
|
axsoft
版主 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
引言: 請問配合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 verschickenDa 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ängeEine 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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |