كيفية إرسال رسالة بريد باستخدام مكون خادم SMTP's Indy؟

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

  •  19-09-2019
  •  | 
  •  

سؤال

منذ العرض التوضيحي في http://www.indyproject.org/sockets/demos/index.en.aspx. يحفظ فقط الدفق المستلم إلى ملف، لا أعرف كيفية إرسال تأثير هذا الدفق كبريد.

هل يمكن لأي شخص أن يعلمني كيفية القيام بذلك أو أن أشير إلى مثال أكثر اكتمالا؟

هل كانت مفيدة؟

المحلول

SMTP. الخادم لا يمكن للمكون إرسال البريد - لا يمكن إلا أن يحصل عليه فقط. تحتاج إلى SMTP زبون مكون (TITSP) لإرسال البريد. خادم البريد عند إرسال أعمال البريد كعميل SMTP.

نصائح أخرى

إليك مثال كامل حول كيفية إرسال بريد إلكتروني:

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;
.
.

(أعرف أنه مع عبوس، لكنني استخدمه بشكل عام في حالات مثل هذا حيث لا يوجد شك فيما يتعلق بما يجري، وحيث لا يوجد أي فرصة (أو مجرد إنفكاريا) فرصة للغموض)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top