Fórum [Help]:Outlook.Application - GetActiveOleObject #272217
14/03/2005
0
É o seguinte existe um codigo para enviar email através do Outlook Application, este mesmo está rolando na net...em alguns forum o problema é que eu gostaria de passar dentro mesmo que não tem opção de copia dos email email enviados ou seja só existe a linha MailItem.Recipients.Add(sFromMail);
então gostaria que aplicação registra-se a copia do email como se no outlook.
Por favor aguardo um post sobre.
Codigo completo
procedure SendMail(sFromMail, sToMail, sSubject, sBody: String;bHTML, bAttachment, bSend: Boolean; sAttachmentFile, sAttachmentName: String) ;
const
olMailItem = 0;
olByValue = 1;
var
OutlookApp, MailItem, MyAttachments: OLEVariant;
begin
try
OutlookApp := GetActiveOleObject(´Outlook.Application´);
except
OutlookApp := CreateOleObject(´Outlook.Application´);
end;
MailItem := OutlookApp.CreateItem(olMailItem);
// MailItem.Recipients.toAddress.Add(sFromMail);
MailItem.Recipients.Add(sFromMail);
// MailItem.Recipients.CCList.Add(sToMail);
MailItem.Subject := sSubject;
if bHTML then
MailItem.HTMLBody := sBody
else
MailItem.Body := sBody ;
if bAttachment then
begin
myAttachments := MailItem.Attachments;
myAttachments.Add(sAttachmentFile, olByValue, 1, sAttachmentName) ;
end ;
if bSend then
MailItem.Send // Je nach dem EMail Senden
else
MailItem.Save ; // Oder als Entwurf speichern
myAttachments := VarNull ;
OutlookApp := VarNull ;
end ;
[]´s
Beira Mar
Curtir tópico
+ 0Posts
14/03/2005
Rômulo Barros
const olMailItem = 0; var Outlook: OLEVariant; MailItem: Variant; begin try Outlook:=GetActiveOleObject(´Outlook.Application´); except Outlook:=CreateOleObject(´Outlook.Application´); end; MailItem := Outlook.CreateItem(olMailItem); with MailItem do begin Recipients.Add(´email@email.com´); Subject := ´Assunto´; Body := ´corpo da mensagem´; Attachments.Add(´C:\Windows\Win.ini´); Send; end; Outlook := Unassigned; end;
Gostei + 0
14/03/2005
Beira Mar
Mais uma vez, qdo rodamos o codigo acima´, ou seja chamamo a funçào acima o delphi cria um email no outlook passado um valor no parametro Recipients.Add que altomáticamente preenche o email do destinatario da mensagem ou seja posso colocar vários email no destinatario mais o q realmente nescessito é colocar um email copia ou seja seria mais ou menos assim:
Para fulano@fulano.com.br no parametro Recipients.Add
Cc beltrano@beltrano.com.br no prametro que estou querendo saber.
Mais um vez obrigado pessoal da comunidade espero que todas contribuições postada fortale-sa muita mais nossa comunidade de desenvolvedores.
[]´s
Gostei + 0
15/03/2005
Marcelo Saviski
Gostei + 0
18/08/2008
Adranoen
substituir:
// MailItem.Recipients.CCList.Add(sToMail);
por:
MailItem.CC.Add(sToMail);
onde SToMail tem que ser uma string de e-mails separados por ´;´.
Espero ter ajudado.
Gostei + 0
20/04/2016
Ariel Duarte
Posicao:=1;
While Posicao > 0 Do Begin
Posicao:=POS(';',Dados);
If Posicao = 0 Then Posicao:=POS(',',Dados);
If Posicao = 0 Then Begin
Email:=Trim(Dados);
End
Else Begin
Email:=Copy(Dados,1,Posicao-1);
Dados:=Trim(Copy(Dados,Posicao+1,500));
End;
MailItem.Recipients.Add(Email);
End;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)