Wie eine Mail-Nachricht mit Indys SMTP-Server-Komponente senden?
Frage
Da die Demo gegeben in http://www.indyproject.org/Sockets /Demos/index.EN.aspx nur speichert die empfangenen Strom in eine Datei ist, weiß ich nicht, wie man effectevely diesen Strom als E-Mail senden.
Kann jemand mir beibringen, wie dies zu tun oder mir etwas ausführlicheres Beispiel zu zeigen?
Lösung
Ein SMTP Server Komponente kann nicht senden Sie eine Mail - es kann nur erhalten. Sie benötigen einen SMTP Client Komponente (TidSMTP) E-Mail zu senden. Ein E-Mail-Server, wenn sie E-Mails sendet verhält sich wie ein SMTP-Client.
Andere Tipps
Hier ist ein vollständiges Beispiel dafür, wie eine E-Mail an:
VAR SMTP : TIdSMTP;
VAR MSG : TIdMSG;
.
.
MSG:=TIdMSG.Create(NIL);
TRY
WITH MSG.Recipients.Add DO BEGIN
Name:='<Name of recipient>';
Address:='<Email address of recipient>'
END;
MSG.BccList.Add.Address:='<Email address of Blind Copy recipient>';
MSG.From.Name:='<Name of sender>';
MSG.From.Address:='<Email address of sender>';
MSG.Body.Text:='<Message Body>';
MSG.Subject:='<Subject of message>';
SMTP:=TIdSMTP.Create(NIL);
TRY
SMTP.Host:='x.x.x.x'; // IP Address of SMTP server
SMTP.Port:=25; // Port address of SMTP service (usually 25)
SMTP.Connect;
TRY
SMTP.Send(MSG)
FINALLY
SMTP.Disconnect
END
FINALLY
SMTP.Free
END
FINALLY
MSG.Free
END;
.
.
(Ich weiß, dass mit verpönt auf, aber ich es in der Regel in Fällen wie diesen, wo es keinen Zweifel darüber, was los ist, und wo es keine (oder nur eine infinitesimale) Chance von Mehrdeutigkeit)