Re: Email via Smpt
Wie leg ich eine Smtp Komponente auf die Form?
|
Re: Email via Smpt
Wie jede andere Komponente auch
|
Re: Email via Smpt
Da gibts nur kein Smtp so wie nen Editfeld etc.
Jetzt bin ich was durcheinander .. |
Re: Email via Smpt
Dann musst Du die Indy-Komponenten erst noch installieren.
|
Re: Email via Smpt
Hi,
die Installation scheint ja nach Beitrag #1 bereits gelaufen zu sein. Wenn die Komponente trotzdem nicht aus der Palette auf die Form gezogen werden kann, dann muss man selbst Hand anlegen: Die Komponente unter einem vernünftigen Namen im private Abschnitt der Form-Deklaration eintragen und beim Ereignis OnCreate der Form instanzieren.
Delphi-Quellcode:
Freundliche Grüße
type
TMainForm = class(TForm) // ... private SMTP: TIdSmtp; // ... end; procedure TMainForm.FormCreate(Sender: TObject); begin SMTP := TIdSmtp.Create(self); // ... end; |
Re: Email via Smpt
Genau du musst die INdys installiert haben, bevor du die idsmtp1. komponente auf dein form ziehen kannst.
danach müsste es aber klappen. und was deine umwandlung in html betrifft (wenn ich das richtig verstanden habe hast du dsa ja vor) würde ich der den tipp geben die Jedi VCL zu installieren. die hat nämlich eine Komponente RTF to Html wenn ich mich nit irre. |
Re: Email via Smpt
Huhu,
erstmal danke euch für die Hilfe :) Er will auch wenn ich nun das Project starte gleich aufs Internet zugreifen. Nur bekomme ich beim Senden ein Fehler. Scheint etwas mit Host not found zu sein. Ich habe drinnen stehn:
Delphi-Quellcode:
Ich weis leider nicht ob dies in bezug auf hotmail stimmt? Bzw wie man es mit Gmail machen könnte.
IdSmtp1.Host:='smtp.hotmail.de';
Mfg edit: Ich poste mal wie der Code nun aussieht, vll hilft das ja weiter:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,IdAntiFreeze, IdMessage, IdText,IdSmtp, ComCtrls; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; RichEdit1: TRichEdit; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } IdSmtp1: TIdSmtp; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var Email: TIdMessage; begin IdSmtp1.AuthType := atDefault; IdSmtp1.Username:='mail@hotmail.de'; IdSmtp1.Password:='PW'; IdSmtp1.Port:=25; IdSmtp1.Host:='smtp.hotmail.de'; Email := TIdMessage.Create(nil); Email.Recipients.Clear; Email.Recipients.Add.Address := 'mail@hotmail.de'; //email des empfängers Email.BccList.Add.Address := 'mail@hotmail.de'; //email des empfängers Email.from.Text := edit1.text; //Text der Email Email.From.Name := 'mail@hotmail.de'; //Name dem die Email gehört, also mein Name Email.From.Address:='mail@hotmail.de'; //Absender Email.Subject:='Test'; //Betreff Email.Date := Now; with TIdText.Create(email.MessageParts, nil) do begin Body.Text := RichEdit1.Text; CharSet := 'iso-8859-1'; ContentTransfer := 'quoted-printable'; ContentType := 'text/html'; ParentPart := -1; end; idsmtp1.Connect; try IdSmtp1.Send(Email); idsmtp1.Disconnect; except idsmtp1.Disconnect; end; showmessage('Mail wurde verschickt'); end; procedure TForm1.FormCreate(Sender: TObject); begin IdSmtp1 := TidSmtp.Create(self); end; end. |
Re: Email via Smpt
Kurze Zwischenfrage: Du hast einen kostenpflichtigen Hotmail Plus Account? Hotmail selbst bietet nach meinen Informationen nur WebMail-Accounts.
|
Re: Email via Smpt
Achso... ja gut ..
Den habe ich leider nicht, nein. Bei welchem Anbiter wäre es denn dan möglich? Ich habs mal über Gmail probiert, wenn ich dies jedoch mache bekomme ich 'Already Connected' Ich habe zwar auch etwas mit TIdSSLIOHandlerSocketOpenSSL gelesen, nur weis ich nicht wie ich dies in die uses einbinden kann, das es deklariert wird. Von daher habe ich dies erstmal rausgelassen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Email: TIdMessage; MailHStack : TIdIOHandlerStack; begin IdSmtp1.AuthType := atDefault; IdSmtp1.IOHandler := MailHStack; IdSmtp1.UseEhlo := True; IdSmtp1.Username:='mail@gmail.com'; IdSmtp1.Password:='PW'; IdSmtp1.Port:=587; IdSmtp1.Host:='smtp.gmail.com'; Email := TIdMessage.Create(nil); Email.Recipients.Clear; Email.Recipients.Add.Address := 'mail@gmail.com'; //email des empfängers Email.BccList.Add.Address := 'mail@gmail.com'; //email des empfängers Email.from.Text := edit1.text; //Text der Email Email.From.Name := 'Absender'; //Name dem die Email gehört, also mein Name Email.From.Address:='mail@gmail.com'; //Absender Email.Subject:='Test'; //Betreff Email.Date := Now; with TIdText.Create(email.MessageParts, nil) do begin Body.Text := RichEdit1.Text; CharSet := 'iso-8859-1'; ContentTransfer := 'quoted-printable'; ContentType := 'text/html'; ParentPart := -1; end; idsmtp1.Connect; try IdSmtp1.Send(Email); idsmtp1.Disconnect; except idsmtp1.Disconnect; end; showmessage('Mail wurde verschickt'); end; |
Re: Email via Smpt
Was soll das eigentlich mal werden, wenn es fertig ist?
Hier zwei Links, die dir vielleicht helfen: Liste mit POP3- und SMTP-Servern (Patrick Canterino) IndySSL Tutorial |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz