Indy의 SMTP 서버 구성 요소를 사용하여 메일 메시지를 보내는 방법은 무엇입니까?
문제
데모 이후 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;
.
.
(나는 함께 눈살을 찌푸 렸다는 것을 알고 있지만, 나는 일반적으로 무슨 일이 일어나고 있는지에 대해 의심의 여지가없는 경우, 그리고 모호한 가능성이없는 곳이없는 곳에서 사용한다).
제휴하지 않습니다 StackOverflow