Comment envoyer un message en utilisant le composant serveur smtp d'Indy?

StackOverflow https://stackoverflow.com/questions/2440911

  •  19-09-2019
  •  | 
  •  

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?

Était-ce utile?

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é)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top