Formulário de envio de e-mail... Quase pronto, porém...
aewww!! pra quem quizer, ta ae o código da minha aplicação...
procedure TForm1.btnEnviarClick(Sender: TObject);
begin
// Remetente
idMessage.From.Address := edtEmailRem.Text;
idMessage.From.Name := edtNomeRem.Text;
// Destinatario
idMessage.Recipients.EMailAddresses := edtEmailDes.Text;
// Mensagem
IdMessage.Subject := edtAssunto.Text; //Assunto
with IdMessage do
begin
Body.Assign(Memo1.Lines);
end;
// Texto HTML
newText := TIdText.Create(IdMessage.MessageParts);
newText.ContentType:=´text/html´;
newText.Body.Add(´<IMG SRC=´cid:´ + ExtractFileName(OpenPictureDialog1.FileName) + ´´>´);
// Anexa a imagem ao corpo do email
newText := TIdText.Create(IdMessage.MessageParts);
newText.ContentType := ´text/plain´;
newAttach := TIdAttachment.Create(IdMessage.MessageParts, pCHAR(ExtractFileName(OpenPictureDialog1.FileName))); // ´google.gif´);
newAttach.ExtraHeaders.Values[´Content-ID´] := pCHAR(ExtractFileName(OpenPictureDialog1.FileName));
// Envia o Email.
with IdSMTP do
begin
AuthenticationType := atLogin;
Host := edtHostSMTP.Text;
Port := 25;
Username := edtUsuario.Text;
Password := edtSenha.Text;
try
Connect;
Send(IdMessage);
finally
if Connected then
ShowMessage(´Mensagem enviada!´);
Disconnect;
Close;
end;
end;
end;
procedure TForm1.btnImagemClick(Sender: TObject);
begin
if OpenPictureDialog1.Execute = true then
begin
if OpenPictureDialog1.FileName <> ´´ then
begin
Memo1.Lines.Add(OpenPictureDialog1.FileName);
end;
end;
end;
procedure TForm1.btnAssinaturaClick(Sender: TObject);
begin
if OpenDialog1.Execute = true then
begin
if OpenDialog1.FileName <> ´´ then
begin
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;
end;
end;
end.
só que.... o que me falta, é o seguinte: quando clico pra inserir a imagem, aparece o caminho no memo e, ao clicar em seguida no button pra inserir a assinatura, no memo é substituído o caminho da imagem, pelo conteúdo do arquivo txt... Minha pergunta:
1. Como fazer para inserir o conteúdo do TXT, na última linha do MEMO, sem substituir o que foi digitado ou inserido de imagem anteriormente??
2. Como configurar para, quando enviar a imagem, no outlook, aparecer a mensagem na CAIXA DE SAÍDA??
3. Como fazer para configurar, a Configuração de Leitura do meu formulário, através do Checkbox?
Aquilo q eu for conseguindo fazer, estarei postando...
Desde já agradeço! Obrigado.
procedure TForm1.btnEnviarClick(Sender: TObject);
begin
// Remetente
idMessage.From.Address := edtEmailRem.Text;
idMessage.From.Name := edtNomeRem.Text;
// Destinatario
idMessage.Recipients.EMailAddresses := edtEmailDes.Text;
// Mensagem
IdMessage.Subject := edtAssunto.Text; //Assunto
with IdMessage do
begin
Body.Assign(Memo1.Lines);
end;
// Texto HTML
newText := TIdText.Create(IdMessage.MessageParts);
newText.ContentType:=´text/html´;
newText.Body.Add(´<IMG SRC=´cid:´ + ExtractFileName(OpenPictureDialog1.FileName) + ´´>´);
// Anexa a imagem ao corpo do email
newText := TIdText.Create(IdMessage.MessageParts);
newText.ContentType := ´text/plain´;
newAttach := TIdAttachment.Create(IdMessage.MessageParts, pCHAR(ExtractFileName(OpenPictureDialog1.FileName))); // ´google.gif´);
newAttach.ExtraHeaders.Values[´Content-ID´] := pCHAR(ExtractFileName(OpenPictureDialog1.FileName));
// Envia o Email.
with IdSMTP do
begin
AuthenticationType := atLogin;
Host := edtHostSMTP.Text;
Port := 25;
Username := edtUsuario.Text;
Password := edtSenha.Text;
try
Connect;
Send(IdMessage);
finally
if Connected then
ShowMessage(´Mensagem enviada!´);
Disconnect;
Close;
end;
end;
end;
procedure TForm1.btnImagemClick(Sender: TObject);
begin
if OpenPictureDialog1.Execute = true then
begin
if OpenPictureDialog1.FileName <> ´´ then
begin
Memo1.Lines.Add(OpenPictureDialog1.FileName);
end;
end;
end;
procedure TForm1.btnAssinaturaClick(Sender: TObject);
begin
if OpenDialog1.Execute = true then
begin
if OpenDialog1.FileName <> ´´ then
begin
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;
end;
end;
end.
só que.... o que me falta, é o seguinte: quando clico pra inserir a imagem, aparece o caminho no memo e, ao clicar em seguida no button pra inserir a assinatura, no memo é substituído o caminho da imagem, pelo conteúdo do arquivo txt... Minha pergunta:
1. Como fazer para inserir o conteúdo do TXT, na última linha do MEMO, sem substituir o que foi digitado ou inserido de imagem anteriormente??
2. Como configurar para, quando enviar a imagem, no outlook, aparecer a mensagem na CAIXA DE SAÍDA??
3. Como fazer para configurar, a Configuração de Leitura do meu formulário, através do Checkbox?
Aquilo q eu for conseguindo fazer, estarei postando...
Desde já agradeço! Obrigado.
Lucas_spohr
Curtidas 0
Respostas
Dbergkamps10
15/09/2007
Ola.
Não sei se vi bem, mas pq vc carrega o conteudo do memo nesta linha:
espero ter ajudado.
Não sei se vi bem, mas pq vc carrega o conteudo do memo nesta linha:
procedure TForm1.btnAssinaturaClick(Sender: TObject); begin if OpenDialog1.Execute = true then begin if OpenDialog1.FileName <> ´´ then begin Memo1.Lines.LoadFromFile(OpenDialog1.FileName); //nesta end; end; end; //pq vc nao tenta, como vc fez na procedure anterior. Memo1.Lines.Add(OpenDialog1.FileName);
espero ter ajudado.
GOSTEI 0
Lucas_spohr
15/09/2007
olá!
pq no caso da imagem, irá adicionar o caminho da imagem, quanto ao TXT, irá adicionar o conteúdo do texto, não o caminho...
mas obrigado! estou a um bom tempo quebrando a cabeça com esse formulário... hehe aceito sujestões!!
mais uma vez, obrigado...
pq no caso da imagem, irá adicionar o caminho da imagem, quanto ao TXT, irá adicionar o conteúdo do texto, não o caminho...
mas obrigado! estou a um bom tempo quebrando a cabeça com esse formulário... hehe aceito sujestões!!
mais uma vez, obrigado...
GOSTEI 0
Massuda
15/09/2007
[quote:ba21895497=´Moderação´][color=red:ba21895497]Se quiser manter o tópico entre os primeiros do fórum, as :arrow: [url=http://forum.devmedia.com.br/viewtopic.php?t=6689]Regras de Conduta[/url] do fórum (item 2), responda a seu próprio tópico com a palavra ´up´ ou ´sobe´.
Evite abrir múltiplos tópicos sobre o mesmo assunto. Isso dispersa a discussão. Procure manter a discussão no tópico original...
http://forum.devmedia.com.br/viewtopic.php?t=89963
Este tópico não foi bloqueado em respeito ao colega que respondeu.
Esta é a segunda advertência que você recebe nos últimos dias, no caso de reincidência você poderá vir a ser suspenso.
Qualquer dúvida, entre em contato por MP[/color:ba21895497][/quote:ba21895497]
Evite abrir múltiplos tópicos sobre o mesmo assunto. Isso dispersa a discussão. Procure manter a discussão no tópico original...
http://forum.devmedia.com.br/viewtopic.php?t=89963
Este tópico não foi bloqueado em respeito ao colega que respondeu.
Esta é a segunda advertência que você recebe nos últimos dias, no caso de reincidência você poderá vir a ser suspenso.
Qualquer dúvida, entre em contato por MP[/color:ba21895497][/quote:ba21895497]
GOSTEI 0