Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

EderDias

LogoMarca no E-mail

Recommended Posts

Ola...

 

eu uso esta rotina abaixo para enviar email pelo delphi usando o Outlook Express.

Funciona perfeito...porem eu gostaria de no Body(corpo) do email colocar a logo da empresa......porque hoje ele só manda texto.

 

teria como adpatar este codigo para poder inserir esta logo??

 

segue o codigo abaixo:

 

unit Unit1;

interface

uses
  Windows, Shellapi, Mapi, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  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 SendEMail(Handle: THandle; Mail: TStrings):
Cardinal;
type
TAttachAccessArray = array [0..0] of TMapiFileDesc;
PAttachAccessArray = ^TAttachAccessArray;
var
MapiMessage: TMapiMessage;
Receip: TMapiRecipDesc;
Attachments: PAttachAccessArray;
AttachCount: Integer;
i1: integer;
FileName: string;
dwRet: Cardinal;
MAPI_Session: Cardinal;
WndList: Pointer;
begin
dwRet := MapiLogon(Handle,
PChar(''),
PChar(''),
MAPI_LOGON_UI or MAPI_NEW_SESSION,
0, @MAPI_Session);
if (dwRet <> SUCCESS_SUCCESS) then 
begin 
MessageBox(Handle, 
PChar('Error while trying to send email'), 
PChar('Error'), 
MB_ICONERROR or MB_OK); 
end
else 
begin 
FillChar(MapiMessage, SizeOf(MapiMessage), #0); 
Attachments := nil; 
FillChar(Receip, SizeOf(Receip), #0); 
if Mail.Values['to'] <> '' then 
begin
Receip.ulReserved := 0; 
Receip.ulRecipClass := MAPI_TO; 
Receip.lpszName := 
StrNew(PChar(Mail.Values['to'])); 
Receip.lpszAddress := StrNew(PChar('SMTP:' + 
Mail.Values['to'])); 
Receip.ulEIDSize := 0; 
MapiMessage.nRecipCount := 1;
MapiMessage.lpRecips := @Receip; 
end; 
AttachCount := 0; 
for i1 := 0 to MaxInt do 
begin 
if Mail.Values['attachment' + IntToStr(i1)] = ''
then 
break; 
Inc(AttachCount); 
end; 
if AttachCount > 0 then 
begin 
GetMem(Attachments, SizeOf(TMapiFileDesc) *
AttachCount); 
for i1 := 0 to AttachCount - 1 do 
begin 
FileName := Mail.Values['attachment' +
IntToStr(i1)]; 
Attachments[i1].ulReserved := 0; 
Attachments[i1].flFlags := 0;
Attachments[i1].nPosition := ULONG($FFFFFFFF); 
Attachments[i1].lpszPathName := 
StrNew(PChar(FileName)); 
Attachments[i1].lpszFileName :=
StrNew(PChar(ExtractFileName(FileName))); 
Attachments[i1].lpFileType := nil; 
end; 
MapiMessage.nFileCount := AttachCount;
MapiMessage.lpFiles := @Attachments^; 
end; 
if Mail.Values['subject'] <> '' then 
MapiMessage.lpszSubject := 
StrNew(PChar(Mail.Values['subject'])); 
if Mail.Values['body'] <> '' then 
MapiMessage.lpszNoteText :=
StrNew(PChar(Mail.Values['body'])); 
WndList := DisableTaskWindows(0); 
try 
Result := MapiSendMail(MAPI_Session, Handle, 
MapiMessage, MAPI_DIALOG, 0); 
finally 
EnableTaskWindows( WndList );
end; 
for i1 := 0 to AttachCount - 1 do 
begin 
StrDispose(Attachments[i1].lpszPathName); 
StrDispose(Attachments[i1].lpszFileName); 
end; 
if Assigned(MapiMessage.lpszSubject) then 
StrDispose(MapiMessage.lpszSubject); 
if Assigned(MapiMessage.lpszNoteText) then 
StrDispose(MapiMessage.lpszNoteText); 
if Assigned(Receip.lpszAddress) then 
StrDispose(Receip.lpszAddress); 
if Assigned(Receip.lpszName) then 
StrDispose(Receip.lpszName);
MapiLogOff(MAPI_Session, Handle, 0, 0); 
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
mail: TStringList;
begin
mail := TStringList.Create;
try
mail.values['to'] := 'Email@test.xyz'; ///AQUI VAI O EMAIL DO DESTINATARIO///
mail.values['subject'] := 'Hello'; ///AQUI O ASSUNTO///
mail.values['body'] := 'blah'+; ///AQUI O TEXTO NO CORPO DO EMAIL///
//mail.values['attachment0'] := 'C:\Test.txt'; ////AQUI O ENDEREÇO ONDE ENCONTRAM OS ARQUIVOS//
//mail.values['attachment1'] := 'C:\Test2.txt'; ///IDEM  - NO ATTACHMENT1	TEM QUE COLOCAR A SEQUNCIA DO EMAIL A QUAL DESEJA ENVIAR EXEMPLO: ATTACHMENT1
sendEMail(Application.Handle, mail);
finally
mail.Free;
end;
end;

end.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.