Back-End

4 mar, 2009

Delphi: Chamando o Outlook Express para envio de e-mail

Publicidade

Inicie um novo aplicativo e coloque os seguintes componentes:

1 Label

1 Edit

1 Button

No evento OnClick do componente Button, insira o código abaixo:

var
Mail : String;
begin
Mail := 'mailto:'+edit1.Text;
ShellExecute(GetDesktopWindow,'open',pchar(Mail),nil,nil,sw_ShowNormal);
end;

Entendendo o Código

mailto:'+edit1.Text : junta mailto: (que indica o destinatário) com o e-mail do destinatário.

ShellExecute(GetDesktopWindow,'open',pchar(Mail),nil,nil,sw_ShowNormal) : faz com que o Outlook seja aberto e automaticamente o campo destinatário seja preenchido.

A Estrutura do Comando ShellExecute()

O comando ShellExecute tem a seguinte assinatura:

function ShellExecute(hWnd: HWND; Operation, FileName, Parameters, Directory: PChar; ShowCmd: Integer): HINST;

Onde:

hWnd: Handle da Janela que está executando o Comando.

Operation: Tipo de operação que se quer executar. Pode ser ‘open’, ‘print’ ou ‘explorer’.

FileName: O arquivo que se quer abrir.

Parameters: Parâmetros a serem passados para o FileName que vai ser aberto. Este parâmetro é útil no caso de se passar no FileName o caminho de um executável.

Directory: O diretório onde a aplicação deve executar.

ShowCmd: indica o tipo de janela que deve ser aberta. Podemos utilizar por exemplo SW_HIDE (deixa a janela invisível), SW_MAXIMIZE (janela maximizada), SW_MINIMIZE (janela minimizada), SW_SHOWNORMAL (abre a janela restaurada e ativa).

Retorno: A função possui erro quando o retorno é menor ou igual a 32. Exemplos de erros que podem ser testados são ERROR_FILE_NOT_FOUND (arquivo não encontrado), ERROR_PATH_NOT_FOUND (caminho não encontrado), SE_ERR_ACCESSDENIED (o programa não tem direito para acessar o arquivo/programa requisitado), SE_ERR_ASSOCINCOMPLETE (arquivo requisitado não possui associação definida), SE_ERR_SHARE (Violação de Compartilhamento), entre outros erros que podem ser mapeados.

Arquivo anexo: Clique aqui para download

Até o próximo artigo!