Estou a semana toda me matando por uma coisa meio que boba... por isso estou meio inativo essa semana.... estão me cobrando... preciso entregar até amanha e peço ajuda aos que puderem me ajudar :rolleyes:
Seguinte...
Eu envio perfeitamente o email para qualquer caixa postal do mundo (todas que testei chegou normal)... porém o GMAIL só recebe o anexo e o assunto... o texto não vai...
Eu uso um richedit e converto ele para HTML pra enviar o email...
Segue procedure PROCESSO, a responsável pelo envio do email...
function TfrmCobrancaSenhas.RICH_HTML(RICH: TRichEdit): string;
var
I,J,MAX_ARRAY: integer;
HTML: string;
F,FO: array [0..5] of string;
STR,LGT: integer;
SIZE: integer;
COR : string;
begin
HTML := '';
STR := RICH.SelStart;
LGT := RICH.SelLength;
MAX_ARRAY := 5;
for J := 0 to MAX_ARRAY do
begin
F[J] := '';
FO[J] := '';
end;
for I := 0 to length(RICH.text) do
begin
RICH.SelStart := I;
RICH.SelLength := 1;
for J := 0 to MAX_ARRAY do
FO[J] := F[J];
if (RICH.SelAttributes.Style - [fsItalic] - [fsUnderline] - [fsStrikeOut] = [fsBold]) then
F[0] := '<b>'
else
F[0] := '</b>';
if (RICH.SelAttributes.Style - [fsItalic] - [fsBold] - [fsStrikeOut] = [fsUnderline]) then
F[1] := '<u>'
else
F[1] := '</u>';
if (RICH.SelAttributes.Style - [fsUnderline] - [fsBold] - [fsStrikeOut] = [fsItalic]) then
F[2] := '<i>'
else
F[2] := '</i>';
if RICH.SelAttributes.size < 10 then
SIZE := 1
else if RICH.SelAttributes.size < 12 then
SIZE := 2
else if RICH.SelAttributes.size < 14 then
SIZE := 3
else if RICH.SelAttributes.size < 18 then
SIZE := 4
else if RICH.SelAttributes.size < 22 then
SIZE := 5
else if RICH.SelAttributes.size < 32 then
SIZE := 6
else
SIZE := 7;
COR := ColorToString(RICH.SelAttributes.Color);
if (COR = 'clWindowText') or (COR = 'clBlack') then
COR := '#000000'
else if COR = 'clWite' then
COR := '#FFFFFF'
else if COR = 'clAqua' then
COR := '#00FFFF'
else if COR = 'clFuchsia' then
COR := '#FF00FF'
else if COR = 'clBlue' then
COR := '#0000FF'
else if COR = 'clYellow' then
COR := '#FFFF00'
else if COR = 'clLime' then
COR := '#00FF00'
else if COR = 'clRed' then
COR := '#FF0000'
else if COR = 'clSilver' then
COR := '#C0C0C0'
else if COR = 'clGray' then
COR := '#808080'
else if COR = 'clTeal' then
COR := '#008080'
else if COR = 'clPurple' then
COR := '#800080'
else if COR = 'clNavy' then
COR := '#000080'
else if COR = 'clOlive' then
COR := '#808000'
else if COR = 'clGreen' then
COR := '#008000'
else if COR = 'clMaroon' then
COR := '#800000'
else if copy(COR,1,1) = '$' then
COR := '#'+copy(COR,length(COR)-1,2)
+copy(COR,length(COR)-3,2)
+copy(COR,length(COR)-5,2)
else
COR := '#000000';
F[3] := '</font><font face="'+RICH.SelAttributes.Name+'" size='+inttostr(SIZE)+' color="'+COR+'">';
if RICH.Paragraph.Alignment = taCenter then
F[4] := '<center>'
else
F[4] := '</center>';
if RICH.Paragraph.Alignment = taRightJustify then
F[5] := '<div align="right">'
else
F[5] := '</div>';
for J := 0 to MAX_ARRAY do
if FO[J] <> F[J] then
HTML := HTML + F[J];
if copy(RICH.text,I+1,1) = #13 then
HTML := HTML + '<br>';
HTML := HTML + copy(RICH.text,I+1,1);
end;
RICH.SelStart := STR;
RICH.SelLength := LGT;
HTML := StringReplace(HTML,'[img]','<img src="',[rfReplaceAll]);
HTML := StringReplace(HTML,'[/img]','"/>',[rfReplaceAll]);
result := HTML;
end;
Explicando... o RichEdit 1 é onde a pessoa edita o texto que já vem e formata ele a vontade... já o RichEdit2 é o texto porém convertido em HTML pela função acima.
Como você pode perceber, tenho o HTML la na procedure PROCESSO, e quando chego no <body> eu coloco o texto do richedit2...
Não sei mais o que fazer... será que alguém pode dar uma luz???
Pergunta
Douglas Soares
Boa tarde...
Estou a semana toda me matando por uma coisa meio que boba... por isso estou meio inativo essa semana.... estão me cobrando... preciso entregar até amanha e peço ajuda aos que puderem me ajudar :rolleyes:
Seguinte...
Eu envio perfeitamente o email para qualquer caixa postal do mundo (todas que testei chegou normal)... porém o GMAIL só recebe o anexo e o assunto... o texto não vai...
Eu uso um richedit e converto ele para HTML pra enviar o email...
Segue procedure PROCESSO, a responsável pelo envio do email...
Função que converte para HTML: Converto e em seguida executo a ThreadExplicando... o RichEdit 1 é onde a pessoa edita o texto que já vem e formata ele a vontade... já o RichEdit2 é o texto porém convertido em HTML pela função acima.
Como você pode perceber, tenho o HTML la na procedure PROCESSO, e quando chego no <body> eu coloco o texto do richedit2...
Não sei mais o que fazer... será que alguém pode dar uma luz???
Abraços
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.