Q&A

  • NMSMTP로 메일 보낼 때 오류
NMSMTP 컴포넌트를 사용하여 메일을 보내려고 합니다.
델파이 demos 폴더에 있는 예제에서도 마찬가지고
여기에 올려주신 예제들로 해도 마찬가지 현상이 나타나는데요,

SMTP 서버 접속까지는 잘 되는데
sendmail을 하면 수신자가 없다는 exception이 발생합니다.

분명히 수신자 지정을 했습니다.

프로그램 오류가 아니라면 서버 설정의 문제인가요?
하여간 답변 부탁드립니다.
1  COMMENTS
  • Profile
    구창민 2002.10.29 21:50
    Subject [팁]인디(Indy)를 이용하여 첨부파일과 Html 형태의 메일 보내기    

    안녕하세요~불멸의 화상 구창민입니다.

    인디의 IdMessage 와 IdSMTP 를 이용한 메일 보내기 입니다.

    아주 손쉽게 첨부파일과 HTML 형태의 메일을 보낼 수 있습니다.

    그럼~ 항상 즐거운 프로그래밍 하시길~~~





    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, IdComponent, IdTCPConnection, IdTCPClient, IdMessageClient,
      IdSMTP, IdBaseComponent, IdMessage;

    type
      TForm1 = class(TForm)
        IdMessage1: TIdMessage;
        IdSMTP1: TIdSMTP;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.DFM}

    procedure TForm1.Button1Click(Sender: TObject);
    var
      idtTextPart:TIdText;
    begin
      IdMessage1. Clear;
      IdMessage1.ContentType := 'Multipart/Alternative';

      // add a plain text message part
      idtTextPart:=TIdText.Create(IdMessage1.MessageParts,nil);
      idtTextPart.ContentType:='text/plain';
      idtTextPart.Body.Add('This is the plain part of the message.');


      // 보내는 문자열 HTML message
      idtTextPart:= TIdText.Create(IdMessage1.MessageParts, nil);
      idtTextPart.ContentType := 'text/html';
      idtTextPart.Body.add('크크 바디의 시작이야<br><br>');
      idtTextPart.Body.add('첫번째 라인이야<br><br>');
      idtTextPart.Body.add('두번째 라인이야<br><br>');
      idtTextPart.Body.add('세번째 라인이야<br><br>');
      idtTextPart.Body.add('허허 마지막 줄이야<br><br>');


      //보내는 사람
      IdMessage1.From.Address := 'koochangmin@empal.com';
      IdMessage1.From.Name := '구창민';
      IdMessage1.Sender.Address := 'koochangmin@empal.com';
      IdMessage1.Sender.Name := '천재구창민';


      // 받는 사람.
      IdMessage1.Recipients.clear;
      with IdMessage1.Recipients.Add  do Address := 'koochangmin@empal.com';
      with IdMessage1.Recipients.Add  do Address := 'kcm@Inzen.com';

      // 제목
      IdMessage1.Subject := '나 구창민인데 테스트 한다.';

      // 첨부파일
      TIdAttachment.Create(IdMessage1.MessageParts, 'c:Temp.html');

      {IdSMTP1 Setup}//호스트 설정
      //IdSMTP1.Host := 'IdSMTP1.isp.com';
      IdSMTP1.Host := 'Mail.Inzen.com';
      IdSMTP1.Port := 25;

      try
        try
          //메일 전송
          IdSMTP1.Connect;
          IdSMTP1.Send(IdMessage1);
        except
          on e: Exception do
            ShowMessage(e.message);
        end;
      finally
        IdSMTP1.Disconnect;
      end;
      showmessage('메일이 잘 전송되었습니다.');
    end;

    end.