Q&A

  • 메일보내기..
해결하지 못하고 있습니다.
델파이 7, winXP,  회사내 메일서버가 있습니다.

procedure TAE1105F.BitBtn1Click(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>');
  //보내는 사람
  IdMessage1.From.Address := 'GUEST@xxxxx.com';
  IdMessage1.From.Name := 'GUEST';
  IdMessage1.Sender.Address := 'GUEST@xxxxx.com';
  IdMessage1.Sender.Name := 'GUEST';
  // 받는 사람.
  IdMessage1.Recipients.clear;
  with IdMessage1.Recipients.Add  do Address := 'umpro@lycos.co.kr';
  //with IdMessage1.Recipients.Add  do Address := 'uscsin@daum.net';

  // 제목
  IdMessage1.Subject := '아폴론의  테스트 메일입니다.';

  IdSMTP1.Host := '10.124.0.4'; //210.000.000.0  //외부IP접속에러  그래서 내부IP로 바꿈
  //내부아이피로 접속해서 외부로 보낸다?   되는것인가요?
  IdSMTP1.Port := 25;
  IdSMTP1.Username := 'GUEST@xxxxx.com';
  IdSMTP1.Password := '1234';
  IdSMTP1.MailAgent := 'MTU1.0';
  IdSMTP1.AuthenticationType := atNone;

  try
    try
       //메일 전송
       IdSMTP1.Connect;    ==========> OK
       IdSMTP1.Send(IdMessage1); ===> Error :Relaying denied
       showmessage('메일발송성공!!');
    except
       on e: Exception do
          ShowMessage('메일발송실패 !!'+#13#13+ E.Message);
    end;
  finally
    IdSMTP1.Disconnect;
  end;
end;


IdSMTP1.Connect;    접속은 되는데(내부아이피로)
IdSMTP1.Send(IdMessage1); 요기서 에러 납니다.

쩝... 난감합니다.
3  COMMENTS
  • Profile
    아폴론 2005.06.24 22:12
    그런데 죄송하게도 성공하지 못하고 있습니다.   위에서 다시 질문 할까 합니다만...
  • Profile
    nilriri™ 2005.06.24 05:22
    에러 메시지가 없네요..ㅡㅡ;

    try
    excpet
        on  e : exception do
        begin
            showmessage(e.message); // 에러메시지 확인해보세요..도움일 될지도..
        end;
    end;


    <!--CodeS-->
    // mdb파일을 메일로 전송할때 썼던 함수입니다. 참고하세요..^^;
    function Tdm.SendDataBase(APath, AHost, AUser, APassword, Afromname, Afromaddress, Atoaddress:String):Boolean;
    begin
      try
        try
          Result := fileExists(APath);
          if Not Result then exit;

             smtp.Host := AHost;
             smtp.Username := AUser;
             smtp.Password := APassword;
             smtp.Port := 25;


             //setup mail message
             MailMessage.From.Address := AFromAddress;
             MailMessage.From.Name := AFromName;
             MailMessage.Recipients.EMailAddresses := AToAddress;

             MailMessage.Subject := '회원사 데이터 메일전송';
             MailMessage.Body.Text := frmMemberMailSend.mo_body.text;

             TIdAttachment.Create(MailMessage.MessageParts, APath);


              SMTP.Connect;

              if smtp.AuthSchemesSupported.IndexOf('LOGIN') > -1 then // Do Not Locale
              begin
                smtp.AuthenticationType := atLogin;
                if not smtp.Authenticate then
                begin
                  MessageDlgTimer(smtp.LastCmdResult.Text.Text);
                  Exit;
                end;
              end;
              
          SMTP.Send(MailMessage);
          except
             on e:exception do
             begin
                MessageDlgTimer(e.Message);
                Result := False;
             end;
          end;
      finally
        if SMTP.Connected then SMTP.Disconnect;
      end;

    end;

    <!--CodeE-->

  • Profile
    이규하 2005.06.24 15:09
    에러가 relay error 라면, 서버의 relay check 를 검토 해야 합니다.
    즉 델파이 코드 에러가 아닐수도 있습니다. 자세한 내용은, 우선 서버의 이메일 프로그램이 무엇인지 알아야 더 쉽게 답이 가능 할것 같습니다.



    • 박상기
      2005.06.28 09:20
      CreateComObject으로 객체를 동적생성해서 해도 됩니다만, 이벤트 처리부분을 별도로 작성해줘야 할 필요...
    • 송인화
    • 2005.06.25 08:58
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김병윤
      2005.06.25 20:07
      좀 무식해 보여도 루프 돌려서 전체 선택하면 되지 싶은데요 ^^ <!--CodeS-->   IF No...
    • 최용일
      2005.06.25 03:32
      안녕하세요. 최용일입니다. 폼 깍는거(BitmapRgn?)하고 투명도나 안티알리아스는 별다른 상관관계가 없...
    • 양승철
    • 2005.06.25 01:09
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이성진
      2005.06.28 05:29
      $00 이라는 제목으로 본 게시판 Search 해보시면 질문과 똑같은 게 나올겁니다. CPort 2.64 또는 3.0...
    • 권태훈
      2005.06.25 23:58
      var   s : String begin   for i = 1 to count   begin   &...
    • 강명식
      2005.06.25 02:11
      스트링으로 받아서 그런게 아닐까요. 한글자씩 스트링으로 받으면 그런 현상이 나타나지요.
    • 이현진
    • 2005.06.24 22:28
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2005.06.24 23:45
      제가 했던 방식은 콜백함수와 SendMessage입니다. 콜백은 전역함수만 됩니다. 예제는 분실해서 없고요 다...
    • 이현진
      2005.06.25 00:10
      답변 감사합니다. DLL 은 이미 만들어져 있는데.. 이벤트가 발생 했을때 Notify 이벤트로 넘긴다고 하...
    • 도끼로이마까
      2005.06.25 01:46
      dll의 윈도우생성하는 함수 호출시 부모 윈도우 핸들을 넘기게 되어잇나여? 그러면 그 윈도우로 Notify가 ...
    • 이현진
      2005.06.25 02:40
      감사합니다. 해당 부모의 윈도우 핸들을 넘겨주고 있습니다. Notify 는 사용자 정의 메세지로 넘어 오...
    • 윤승환
      2005.06.24 19:54
      scaled :=false;
    • 신재민
    • 2005.06.24 16:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 도끼로이마까
      2005.06.24 20:10
      오랜만입니다... 분위기가 별루 안좋군요,,, <!--CodeS--> type   LPDWORD = PLon...
    • 송인화
    • 2005.06.24 15:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2005.06.24 20:42
      아래와 같이 KeyPress 루틴에 이벤트 핸들러를 작성해주시면 됩니다. ^^ <!--CodeS--> procedure...
    • 송인화
    • 2005.06.24 10:57
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2005.06.24 20:55
      안녕하세요. 최용일입니다. 내부망이 아닌 외부망이라면 UDP 브로드캐스팅은 불가능하다고 생각하시면 ...
    • 이규하
      2005.06.24 14:48
      개인적인 의견으로는, internal network 에서 사용하신다면, 부하 걱정은 크게 안하셔도 될듯 합니다. 이유...
    • 김현수
    • 2005.06.24 09:43
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이규하
      2005.06.24 15:04
      다른 프로그램을 인스톨 하시다가, BDE engine path 가 변경 된것이 아닌가 싶은데요. registry 에서 ...
    • 정경철
    • 2005.06.24 05:35
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 델팡
    • 2005.06.24 03:05
    • 2 COMMENTS
    • /
    • 0 LIKES
    • nilriri™
      2005.06.24 05:15
      델파이에서 sql문장을 조합할때는 (') 싱글 따옴표는  ('') 두개를 찍어야 합니다.. '' as ...
    • 델팡
      2005.06.24 18:26
      ^^/ 조은하루
    • 아폴론
    • 2005.06.24 00:56
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 아폴론
      2005.06.24 22:12
      그런데 죄송하게도 성공하지 못하고 있습니다.   위에서 다시 질문 할까 합니다만...
    • nilriri™
      2005.06.24 05:22
      에러 메시지가 없네요..ㅡㅡ; try excpet     on  e : exception do ...
    • 이규하
      2005.06.24 15:09
      에러가 relay error 라면, 서버의 relay check 를 검토 해야 합니다. 즉 델파이 코드 에러가 아닐수도 있...
    • Jung
    • 2005.06.23 21:22
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 한상훈
    • 2005.06.23 18:29
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 송인화
    • 2005.06.23 03:31
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2005.06.23 04:46
      안녕하세요. 최용일입니다. RichEdit의 Font에서 CharSet을 HANGEUL_CHARSET으로 바꾸어보세요. ^^ ...
    • 송인화
      2005.06.23 06:29
      안녕 하세요.. 답변 감사합니다.. 답변 주신대로 Font의 CharSet을 확인 해보았습니다. &nb...
    • 최용일
      2005.06.24 20:56
      안녕하세요. 최용일입니다. OnChange, OnKeyDown, OnKeyPress등에서 ShowMessage( IntToStr(Length(...