Comment envoyer un message en utilisant le composant serveur smtp d'Indy?
Question
Depuis la démonstration donnée dans http://www.indyproject.org/Sockets /Demos/index.EN.aspx enregistre uniquement le flux reçu dans un fichier, je ne sais pas comment envoyer effectevely ce flux comme courrier.
Quelqu'un pourrait-il me dire comment faire ceci ou me montrer quelques exemples plus complet?
La solution
A SMTP serveur composant ne peut pas envoyer du courrier - il ne peut le recevoir. Vous avez besoin d'un serveur SMTP client composant (TidSMTP) pour envoyer du courrier. Un serveur de mail quand il envoie des actes de messagerie comme un client SMTP.
Autres conseils
Voici un exemple complet sur la façon d'envoyer un e-mail:
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;
.
.
(je sais que, est mal, mais je l'utilise généralement dans des cas comme celui-ci où il n'y a aucun doute quant à ce qui se passe, et où il n'y a pas (ou tout simplement un infinitésimal) risque d'ambiguïté)