Indy의 SMTP 서버 구성 요소를 사용하여 메일 메시지를 보내는 방법은 무엇입니까?

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

  •  19-09-2019
  •  | 
  •  

문제

데모 이후 http://www.indyproject.org/sockets/demos/index.en.aspx 수신 된 스트림 만 파일에 저장하면 해당 스트림을 메일로 보내는 방법을 모르겠습니다.

누구 든지이 작업을 수행하는 방법을 가르쳐 주거나 더 완전한 모범을 가르쳐 줄 수 있습니까?

도움이 되었습니까?

해결책

SMTP 섬기는 사람 구성 요소는 메일을 보낼 수 없습니다. SMTP가 필요합니다 고객 메일을 보내는 구성 요소 (tidsmtp). 메일 서버가 메일을 보낼 때 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