Página 1 de 1
enviar email via outlook
Enviado: 28 Jan 2014 19:14
por Amparo
Feliz 2014
um grande abraço a todos os colegas, em especial para toledo, hasse, sygecom, asimoes, rochinha, pablo, billy1943, hasa e alxsts
Toledo, estava eu dando uma fuçada para ver se achava algo sobre o Outlook, quando vi um exemplo seu cfe abaixo, fiz algumas mudanças para adaptar ao meu sistema e tudo mais, foi quando tentei colocar uma linha para anexar um arquivo e não obtive sucesso, pesquisei procurei e não cheguei a nenhuma solução, sera que os colegas poderiam me emprestar (RSRSR) uma luz para o fim deste túnel?
exemplo do Toledo:
Código: Selecionar todos
ITEM 'Enviar' ACTION ShellExecute( 0, "open", "rundll32.exe", ;
"url.dll,FileProtocolHandler " + ;
"mailto:"+cEmailDest+"?cc=&bcc=" + ;
"&subject="+cAssunto + ;
"&body="+cMensagem, , 1 )
Código: Selecionar todos
eu mudei desta forma e não funcionou, abre o Outlook só não vem o anexo
ITEM 'Enviar' ACTION ShellExecute( 0, "open", "rundll32.exe", ;
"url.dll,FileProtocolHandler " + ;
"mailto:"+cEmailDest+"?cc=&bcc=" + ;
"&subject="+cAssunto + ;
"&attach=c:\teste.txt" + ;
"&body="+cMensagem, , 1 )
abraço a todos
enviar email via outlook
Enviado: 29 Jan 2014 09:02
por Toledo
Amparo, este exemplo era para executar com o Outlook Express, utilizando o comando mailto: que permite preencher alguns campos da mensagem que será enviada. Mas infelizmente estes campos pré-formatados é limitado, permitindo apenas o preenchimento dos seguintes campos:
- Para
- Cc
- Bcc
- Assunto
- Corpo da mensagem
Utilizando o comando mailto: não é possível enviar arquivos em anexo.
Acho que com o Outlook (não o Outlook Express, é a versão que vem com o Office) tem como anexar arquivos criando o objeto OLE (Outlook.Application).
Abraços,
enviar email via outlook
Enviado: 24 Fev 2014 16:23
por rbonotto
Estou tentando usar o código acima mas o harbour não reconheçe o comando
ShellExecute, usando o windows XP
Código: Selecionar todos
# INCLUDE 'inkey.ch'
cEmailDest := 'xxxxxxxxxxxxxx@xxx.xxx.xx'
cAssunto := 'relatorio'
cMensagem := 'teste'
ShellExecute( 0, "open", "rundll32.exe", ;
"url.dll,FileProtocolHandler " + ;
"mailto:"+cEmailDest+"?cc=&bcc=" + ;
"&subject="+cAssunto + ;
"&body="+cMensagem, , 1 )
A mensagem de erro de compilação:
hbmk2: Linking... programa.exe
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_HB_FUN_SHELLEXECUTE' referenced from C:\......
enviar email via outlook
Enviado: 24 Fev 2014 17:42
por alxsts
Olá!
Como você está compilando?
ShelExecute() pertence à HbWin:
enviar email via outlook
Enviado: 24 Fev 2014 19:14
por rbonotto
Ola,
c:\minigui\harbour\bin\hbmk2 sistema.hb
Conteudo do arquivo sistema.hb
Código: Selecionar todos
-oprograma
-lhbct
-lxhb
-lhbwin
-llibpng
-gtwvt
-incpath=c:\minigui\harbour\include
-Lc:\minigui\harbour\lib
-inc
enviar email via outlook
Enviado: 24 Fev 2014 22:25
por Toledo
Amigos, esta função ShellExecute() é da LIB MiniGui, então se o programa está sendo compilado em modo console, não vai dar certo.
Código da função que está na MiniGui:
Código: Selecionar todos
HB_FUNC( SHELLEXECUTE )
{
hb_retnl
(
( LONG ) ShellExecute
(
( HWND ) hb_parnl( 1 ),
HB_ISNIL( 2 ) ? NULL : ( LPCTSTR ) hb_parc( 2 ),
( LPCSTR ) hb_parc( 3 ),
HB_ISNIL( 4 ) ? NULL : ( LPCTSTR ) hb_parc( 4 ),
HB_ISNIL( 5 ) ? NULL : ( LPCTSTR ) hb_parc( 5 ),
hb_parni( 6 )
)
);
}
Acho que no Harbour tem a função wapi_ShellExecute().
Abraços,
enviar email via outlook
Enviado: 24 Fev 2014 23:37
por alxsts
Olá!
Exatamente Toledo: wapi_ShellExecute()
Código: Selecionar todos
HB_FUNC( WAPI_SHELLEXECUTE )
{
#if defined( HB_OS_WIN_CE )
hb_retni( -1 );
#else
void * hOperation;
void * hFile;
void * hParameters;
void * hDirectory;
hb_retnint( ( HB_PTRDIFF ) ShellExecute( ( HWND ) hb_parptr( 1 ),
HB_PARSTR( 2, &hOperation, NULL ), /* edit, explore, open, print, play?, properties? */
HB_PARSTRDEF( 3, &hFile, NULL ),
HB_PARSTR( 4, &hParameters, NULL ),
HB_PARSTR( 5, &hDirectory, NULL ),
hb_parnidef( 6, SW_SHOWNORMAL ) /* nShowCmd */ ) );
hb_strfree( hOperation );
hb_strfree( hFile );
hb_strfree( hParameters );
hb_strfree( hDirectory );
#endif
}
Parâmetros:
Código: Selecionar todos
// FIRST PARAMETER
// "edit" Launches an editor and opens the document for editing. If lpFile is not a document file, the function will fail.
// "explore" Explores a folder specified by lpFile.
// "find" Initiates a search beginning in the directory specified by lpDirectory.
// "open" Opens the item specified by the lpFile parameter. The item can be a file or folder.
// "print" Prints the file specified by lpFile. If lpFile is not a document file, the function fails.
//
// SECOND PARAMETER:
// file or folder name
Linkar a HbWin
Fonte
enviar email via outlook
Enviado: 25 Fev 2014 11:00
por rbonotto
Entendido, e ja funcionando !!
Obrigado

enviar email via outlook
Enviado: 26 Fev 2014 14:59
por rbonotto
Pessoal, só um problema que esta acontecendo com o código.
Ele não esta colocando o arquivo em anexo, segue o codigo:
Código: Selecionar todos
cEmailDest := 'xxx@xxx.com.br'
cAssunto := 'Relatorio'
cMensagem := 'Rlatorio XXXX'
WAPI_SHELLEXECUTE( 0, "open", "rundll32.exe", ;
"url.dll,FileProtocolHandler " + ;
"mailto:"+cEmailDest+"?cc=&bcc=" + ;
"&attach=c:\teste.txt" + ;
"&subject="+cAssunto + ;
"&body="+cMensagem, , 1 )
Abre ok o outlook:
Mas nada do arquivo anexado. Alguma idéia ?
Abraços,
enviar email via outlook
Enviado: 27 Fev 2014 07:43
por Toledo
Amigo, veja as duas primeiras mensagens deste tópico.
Abraços,
enviar email via outlook
Enviado: 27 Fev 2014 11:16
por rbonotto
Putz....que mancada a minha....
Desculpe nossa falha rsrsrsrsrsrs
Abraços,
enviar email via outlook
Enviado: 17 Jan 2017 15:46
por buenaonda

Alguém poderia encontrar a solução para este? Eu encontrei esta informação. FiveWin vem com classe TSMTP peeeero, como não é de surpreender em FiveWin, a classe é incompleta e não suporta a autenticação ou suporta e-mail com anexos, então descartar a classe nativa de FiveWin.
Existem várias opções possíveis:
1) usando BLAT é um programa externo que é facilmente configurado através de um arquivo de texto, é gratuito e funciona muito bem ambos os 16 e 32 bits. Em seu site (blat.net) você vai encontrar exemplo detalhado, um simples WinExec BLAT <file> faz o que você precisa.
2) A xHarbour de 32 bits, você pode usar o objeto nativo que está incluído para o envio de e-mail, eu vou lhe dar um exemplo aqui, mas eu recomendo que você verifique o xHarbour documentação on-line (xharbour.com/xhdn / referenceguide /) para obter mais informações sobre a autenticação.