Q&A

  • [질문]메일발송문의!


컴퍼넌트 사용
1. isSMTP: TIdSMTP;
2. imMSG: TIdMessage;

procedure TfmMailSend.Button1Click(Sender: TObject);
var
  vFile, vSubject: String;
begin
  try
    Application.ProcessMessages;
    aFileList := TStringList.Create;
    isSMTP.Host := '회사 모메인';
    isSMTP.Port := 25;
    with imMSG do begin
      From.Address := 'abc@naver.com';
      Recipients.EMailAddresses := 'abc123@naver.com';
      Subject := '테스트 메일발송!';
      Body.Text := Subject +#13+#10+'첨부 파일 참조!'+#13+#10+'Sending Desktop IP : '+ aLocalIP;
      Priority := mpHigh;
      CharSet := 'KS_C_5601-1987';
      Headers.Text := 'Content-type: text/html';
      ContentType := 'text/html';
      aFileList.Add('D:\20091117.log');
      TIdAttachment.Create(MessageParts, Trim(aFileList.Strings[0]));
      try
        isSMTP.Connect(1000);
        isSMTP.Send(imMSG); // 여기서 오류 가 발생합니다.
        //sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
        // 오류 메시지 전체는 첨부파일에 있습니다.
      except
        on E: Exception do SetProcessLog('MAIL SEND ERROR', pnSend.Hint);
      end;
    end;
  finally
    aFileList.Free;
    dbCon.Connected := FALSE;
    imMSG.MessageParts.Clear;
    isSMTP.InputBuffer.Clear;
    if isSMTP.Connected then isSMTP.Disconnect;
  end;
end;

위와 같이 했을 경우 첨부된 것처럼 오류가 발생합니다.
참고
1.  회사 메일 주소로 보낼경우 오류없이 정상 발송됩니다.
2. Outlook에서 메뉴/도구/전자메일계정/변경/기타설정/보내는메일서버/
     - 보내는 메일 서버(SMTP)인증필요 체크하였습니다.
     - 받는 메일 서버와 동일한 설정사용 설정되었구여!
5  COMMENTS
  • Profile
    최용일 2009.11.18 01:09
    델파이와 상관없구요... 수신측 메일서버에서 메일받는 사람을 거부한것입니다.
  • Profile
    김현철 2009.11.18 01:44
    답변감사합니다!
    근데.. 메일서버(nate.com, naver.com)에서 모두 수신 거부한건가여?
    아웃룩에서 메일을 보내면 잘 받아지거든여!
    참고로 회사직원들에게는 멜이 잘가거든여!
    검색을 하다보니. relay설정이라는 작업에 영향이 있을지도 모른다는 글을 봤는데여!
    이건 메일서버에서 행하는것인데....
    혹. 아웃룩에서 보내는것 tip은 없을까여?
    방법을 찾아야하는데... 다른 방법은 없을까여?
  • Profile
    최용일 2009.11.18 03:33
    말을 거꾸로 썼는데요... 암튼... 이 문제는 순수하게 메일서버 설정문제입니다.
    대부분의 메일서버는 보안상/스팸메일 등의 이유로 relay를 제한합니다. 아무다 다 메일을 보낼 수 있도록 하면 그 메일 서버는 스팸메일의 온상이 됩니다.
    위 문제를 해결하실려면 메일서버에서 테스트하는 PC의 IP에 대해서 relay를 허용하도록 설정하셔야 할것입니다.
  • Profile
    김현철 2009.11.18 18:50
    큰일이네여! 메일서버 업체에서는 relay 예외적인 작업은 전혀 지원을 안해준다고합니다.!
    ㅡㅡ; 이일을 어케 풀어야하지요! 난감하네여!
    윈도우에 있는 아웃룩을 통해서 메일발송할 수 있는 방법은 없는건가여?
    좀더 찾아봐야겠어여! 좋은 정보있음 공유 부탁드립니다!

    최용일님의 답변 감사합니다. 즐건 하루 보네세요!
  • Profile
    반민석 2010.04.16 17:21
    저는 고민하다가 google apps 사용합니다.
    편하고 괜찮은거 같아요..