Q&A

  • 메일보내기(샘플 프로그램좀) ?
델파이 사용자 입니다.
그런데 일반  ERP 프로그램만 하다 보니
메일 보내기 등의 프로그램에 대한 지식이 없어요

좋은샘플있으면 고수님들의 조언 부탁 합니다
!꾸벅!
DELPHI6, 혹은 7버젼도 관계 없고요  
보통 고수님들이  다른다람에게 알려는는것을 보면 이미 많은
부분은 알고 있는것으로 간주 하고 요점만  알려주시는 경향이 있는데


저는  풀소스 샘플및 자세한 설명이 필요해요
왜냐면 꼴통이라 상세한 설명이 없으면 잘 이해를 못해요

혹!
다음에 ERP관련 프로그램은 제가 언제든지 알려드릴께요
인사/급여/영업/생산/자재/물류...

프로그램개발은 잘 못하야도 LOGIC에는 수십년 경험및 개발 소스가 있어요!
2  COMMENTS
  • Profile
    류민철 2007.04.10 02:15
    Mapi 를 사용하시면 간단하게 메일을 보내거나 받으실수 있습니다..
    요구 하신 간단한 셈플을 올려 봅니다...
    예전에 어딘가에서 받은 셈플인데..
    제가 만든건 어디가고 이것만 있네여,,,,
    물론 이거보다도 간단하게 처리할수 있긴 한데...
    조금 귀챠니즘 때문에...
    그럼.. 즐코 하세요...
    일본에서....  류... 가 올립니다..


    <!--CodeS-->
    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs,Mapi, StdCtrls;

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

    var
      Form1: TForm1;

    implementation

    {$R *.dfm}

    function SendMailMAPI(const Subject, Body, FileName, SenderName, SenderEMail,
                      RecepientName, RecepientEMail: String) : Integer;
    var
      message: TMapiMessage;
      lpSender,
      lpRecepient: TMapiRecipDesc;
      FileAttach: TMapiFileDesc;
      SM: TFNMapiSendMail;
      MAPIModule: HModule;
    begin
      FillChar(message, SizeOf(message), 0);
      with message do
      begin
        if (Subject<>'') then
        begin
          lpszSubject := PChar(Subject)
        end;
        if (Body<>'') then
        begin
          lpszNoteText := PChar(Body)
        end;
        if (SenderEMail<>'') then
        begin
          lpSender.ulRecipClass := MAPI_ORIG;
          if (SenderName='') then
          begin
            lpSender.lpszName := PChar(SenderEMail)
          end
          else
          begin
            lpSender.lpszName := PChar(SenderName)
          end;
          lpSender.lpszAddress := PChar('SMTP:'+SenderEMail);
          lpSender.ulReserved := 0;
          lpSender.ulEIDSize := 0;
          lpSender.lpEntryID := nil;
          lpOriginator := @lpSender;
        end;
        if (RecepientEMail<>'') then
        begin
          lpRecepient.ulRecipClass := MAPI_TO;
          if (RecepientName='') then
          begin
            lpRecepient.lpszName := PChar(RecepientEMail)
          end
          else
          begin
            lpRecepient.lpszName := PChar(RecepientName)
          end;
          lpRecepient.lpszAddress := PChar('SMTP:'+RecepientEMail);
          lpRecepient.ulReserved := 0;
          lpRecepient.ulEIDSize := 0;
          lpRecepient.lpEntryID := nil;
          nRecipCount := 1;
          lpRecips := @lpRecepient;
        end
        else
        begin
          lpRecips := nil
        end;
        if (FileName='') then
        begin
          nFileCount := 0;
          lpFiles := nil;
        end
        else
        begin
          FillChar(FileAttach, SizeOf(FileAttach), 0);
          FileAttach.nPosition := Cardinal($FFFFFFFF);
          FileAttach.lpszPathName := PChar(FileName);
          nFileCount := 1;
          lpFiles := @FileAttach;
        end;
      end;
      MAPIModule := LoadLibrary(PChar(MAPIDLL));
      if MAPIModule=0 then
      begin
        Result := -1
      end
      else
      begin
        try
          @SM := GetProcAddress(MAPIModule, 'MAPISendMail');
          if @SM<>nil then
          begin
            Result := SM(0, Application.Handle, message, MAPI_DIALOG or
                         MAPI_LOGON_UI, 0);
          end
          else
          begin
            Result := 1
          end;

        finally
          FreeLibrary(MAPIModule);
        end;
      end;
      if Result<>0 then
      begin
        MessageDlg('Error sending mail ('+IntToStr(Result)+').', mtError, [mbOk],
                   0)
      end;
    end;


    procedure TForm1.Button1Click(Sender: TObject);
    begin
          SendMailMAPI('test','dkjfdkfdkfdjkf','','trtrtr','antipax@naver.com','antipax@naver.com','antipax@naver.com');
    end;

    end.
    <!--CodeE-->


  • Profile
    조성미 2007.04.24 03:17
    자료 고맙습니다.
    그런데 outlook을 기본으로 설정  했는데
    꼭 outlook가떠서 보내기 보튼을 눌러야 하는데 자동으로 안되나요????