Ir para conteúdo
Fórum Script Brasil
  • 0

E-mail - Resolvido


Vivendo&Aprendendo

Pergunta

21 respostass a esta questão

Posts Recomendados

  • 0

Olá Alexandre.

Tenta isso:

Declare a unit MAPI na cláusula uses

function TForm1.EnviarEmailPadrao(const De, Para, Assunto, Texto,
  Arquivo: string; Confirma: Boolean): Integer;
var 
  Msg: TMapiMessage; 
  lpSender, lpRecepient: TMapiRecipDesc;
  FileAttach: TMapiFileDesc; 
  SM: TFNMapiSendMail; 
  MAPIModule: HModule; 
  Flags: Cardinal;
begin 
  // cria propriedades da mensagem 
  FillChar(Msg, SizeOf(Msg), 0); 
  with Msg do 
    begin 
      if (Assunto <> '') then 
        lpszSubject := PChar(Assunto); 

      if (Texto <> '') then 
        lpszNoteText := PChar(Texto); 

      // remetente 
      if (De <> '') then 
        begin 
          lpSender.ulRecipClass := MAPI_ORIG; 
          lpSender.lpszName := PChar(De); 
          lpSender.lpszAddress := PChar(De); 
          lpSender.ulReserved := 0; 
          lpSender.ulEIDSize := 0; 
          lpSender.lpEntryID := nil; 
          lpOriginator := @lpSender; 
        end; 

      // destinatário 
      if (Para <> '') then 
        begin 
          lpRecepient.ulRecipClass := MAPI_TO; 
          lpRecepient.lpszName := PChar(Para); 
          lpRecepient.lpszAddress := PChar(Para); 
          lpRecepient.ulReserved := 0; 
          lpRecepient.ulEIDSize := 0; 
          lpRecepient.lpEntryID := nil; 
          nRecipCount := 1; 
          lpRecips := @lpRecepient; 
        end 
      else 
        lpRecips := nil; 

      // arquivo anexo 
      if (Arquivo = '') then 
        begin 
          nFileCount := 0; 
          lpFiles := nil; 
        end 
      else 
        begin 
          FillChar(FileAttach, SizeOf(FileAttach), 0); 
          FileAttach.nPosition := Cardinal($FFFFFFFF); 
          FileAttach.lpszPathName := PChar(Arquivo); 
          nFileCount := 1; 
          lpFiles := @FileAttach; 
        end; 
    end; 

  // carrega dll e o método para envio do email 
  MAPIModule := LoadLibrary(PChar(MAPIDLL)); 

  if MAPIModule = 0 then 
    Result := -1 
  else 
    try 
      if Confirma then 
        Flags := MAPI_DIALOG or MAPI_LOGON_UI 
      else 
        Flags := 0; 

      @SM := GetProcAddress(MAPIModule, 'MAPISendMail'); 

      if @SM <> nil then 
        Result := SM(0, Application.Handle, Msg, Flags, 0) 
      else 
        Result := 1; 
    finally 
      FreeLibrary(MAPIModule); 

end;
end;
E num button por exemplo:
EnviarEmailPadrao(remetente, destinatário,assunto,corpo_da_mensagem,arquivo_anexo,false);

Qualquer dúvida, posta ae, falou!!!

Abs. wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Olá amigo

Vlw pela ajuda...

Mas,.... Sou um pouco inexperiente nessa área de envio de e-mail e um pouco em programação, entaum se for possível você me explicar esse código ou enviar um menos complicado...

Esse código abre o Outlock ou envia pelo sistema mesmo...

Alexandre

Link para o comentário
Compartilhar em outros sites

  • 0

bom você quer dizer enviar direto do delphi.

no delphi 7 tem o componente IdSMTP na paleta Indy Clients.

so não sei como usar.

Só que já ouvi falar que todos os provedores requerem autenticação do servidor e com isso não daria certo tambem. (Não tenho certeza disso)

de qual forma não custa tentar né?

e quem souber usar esse componente (IdSMTP) galera, posta ae falou!!!

Abs.

Link para o comentário
Compartilhar em outros sites

  • 0

cara

Agora ele abriu o outloook certinho mas não envia a mensagem para o destino que coloco da o seguinte erro:

Sua mensagem não foi recebida por um ou mais dos destinatários.

Assunto: teste

Enviada em: 26/10/2004 09:45

Não foi possível encontrar os seguintes destinatários:

'alexandre.lima@bertin.com.br' em 26/10/2004 09:45

Nenhuma de suas contas de email pôde enviar mensagem para este destinatário.

Será que o hotmail não aceita?

Alexandre

Link para o comentário
Compartilhar em outros sites

  • 0

Cara o problema é Outlook x Hotmail.

O Hotmail usa servidor de e-mail HTTP e não o POP3, e no outlook num tem essa opção (ou não achei), fiz um teste aki no Outlook Express e ele envia normalmente, só que eu num entendo esse negócio direito não. sad.gif

Pra usar o Outlook você tinha que usar outro provedor.

Abs.

Link para o comentário
Compartilhar em outros sites

  • 0

Amigão esse problema já esta resolvido pois o sindicato no qual estou desenvovendo esta aplicação forneceu e-mail para todos os escritórios que irão utilizar esse sistama e o mail usa POP3, agora só mais uma dívida que postei no post anterior tem como o sistema verificar qual o gerenciador de mail padrão do computador e usar ele tipo assim outlook ou incredimail?

Não fica bravo não sou perguntador mesmo.....hehehehe

Alexandre

Link para o comentário
Compartilhar em outros sites

  • 0

Não fica bravo não sou perguntador mesmo.....hehehehe

Olá Alexandre.

Num esqueta com isso não cara, afinal esse forum é pra isso mesmo, eu faço isso por prazer mesmo! falou!!! biggrin.gif

Com relação a sua pergunta, infelizmente sad.gif eu ainda num sei não cara, mas sempre é bom agente aprender, por isso vou pesquisar sobre esse assunto, e se encontrar alguma coisa eu posto aki, e se alguém souber POSTA ae galera.

Abs. wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

cara vlw pela ajuda o código que você me passou deu certinho, manda de qualquer servidor para qualquer servidor...

Mais uma vez Obrigado.... vocês do forum são demais

você deve voltar para a equipe de MODERADORES o mais rápido possível você e o CAPABLANCA são muito bons nisso... estou aprendendo muito com vocês dois.

Vlw

Alexandre - Vivendo&Aprendendo

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...