Türkçe Html Mail yollama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
esrehmaan

Türkçe Html Mail yollama

Mesaj gönderen esrehmaan »

merhabalar arkadaşlar,

Kod: Tümünü seç

procedure TForm1.IdMessage1InitializeISO(var VTransferHeader: TTransfer;
  var VHeaderEncoding: Char; var VCharSet: String);
begin
 VCharSet := 'iso-8859-9';
end;
bu kod ile subject kısmı düzeliyor ancak mail içeriği bir türlü düzelmiyor. Bu konuda bi fikir verebilirmisiniz ?
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Türkçe Html Mail yollama

Mesaj gönderen mkysoft »

sorunuzun cevabı, sorunuzda gizli. HTML mail demişsiniz. Mailinizin içerğini HTML olarak mı oluşturuyorsunuz?

Kod: Tümünü seç

<html>
<body>
mesaj
</body>
</html>
title taglarını kullanarak tekrar dil bilgisi eklemelisiniz.
esrehmaan

Re: Türkçe Html Mail yollama

Mesaj gönderen esrehmaan »

Kod: Tümünü seç

a:memo1.text;
memo2.Lines.Add('<html>');
memo2.Lines.Add('<head>') ;
memo2.Lines.Add('<meta http-equiv="Content-Language" content="tr">');
memo2.Lines.Add('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />');


memo2.Lines.Add('</head>');
memo2.Lines.Add('<body>');
memo2.Lines.Add(a);
memo2.Lines.Add('</body>');
memo2.Lines.Add('</html>');

hocam html taglarını tabiki kullanıyorum ama düzelmiyor
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Türkçe Html Mail yollama

Mesaj gönderen mkysoft »

veri tabanından gelen verileriniz UTF-8 olabilir. gönderdiğiniz mail içeriğini (ekranda görünen değilde, ham verileri) sunucu tarafından alarak paylaşın birde.
esrehmaan

Re: Türkçe Html Mail yollama

Mesaj gönderen esrehmaan »

hocam veritabanı kullanmıyorum txt dosya içinde verilerim var onlarıalıp yolluyorum
esrehmaan

Re: Türkçe Html Mail yollama

Mesaj gönderen esrehmaan »

çözdüm hocam

Kod: Tümünü seç

 txtpart.ContentType := 'text/plain; [b]charset="iso-8859-9[/b]"';
 txtpart.Body.Text := Memo2.Lines.Text;
 htmpart := TIdText.Create(IdMessage1.MessageParts, html);
 htmpart.ContentType := 'text/html';
c
kod bölümünde kalın olarak yazdığı kod sorunu çözdü tşk ederim
savasgti
Üye
Mesajlar: 103
Kayıt: 07 Eki 2008 06:13

Re: Türkçe Html Mail yollama

Mesaj gönderen savasgti »

nasıl yaptığınızı daha açık yazarsanız belki forumda diğer insanlarında işine yarayabilir. ben türkçe karakter sorunu yaşıyorum bu aralar ne yaptıysam olmadı.
denizfatihi
Üye
Mesajlar: 254
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

Re: Türkçe Html Mail yollama

Mesaj gönderen denizfatihi »

Merhaba,

Delphi 7 de aşağıdaki kod ile mail gönderdiğimde sorun yok yalnız aynı kod ile delphi 10.1 de (Berlin) gönderilen mailde Türkçe karakter problemi yaşıyorum, subject kısmında sorun yok yalnız metin kısmı outlookta enteresan karakterler veriyor, nerede hata yapıyorum acaba ?
şimdiden teşekkür ederim iyi çalışmalar,

Kod: Tümünü seç

var
html: TStrings;
email: TIdMessage;
filename: string;
//idAttach: TidAttachment;
// #,##0.00;
begin


if mail.RecordCount > 0
then begin
frxHTMLExport1.FileName:=ExtractFilePath(Application.ExeName)+'\Bilgi.html';
Mail_1.PrepareReport(true);
frxHTMLExport1.ShowDialog:=False;
Mail_1.Export(frxHTMLExport1);

    sleep(2000);
     IdMessage1.Recipients.EMailAddresses:='aaaa@c.com.tr';
     IdMessage1.From.Address:='bbb@c.com.tr';//Gönderen  
     IdMessage1.From.Name:='ik'; //Gönderen
  
    IdMessage1.Subject := 'Ödeme Talebi';



    IdSMTP1.Host:='mail.c.com.tr';
    IdSMTP1.Port:=25;
    IdSMTP1.Password:='xxxxx';

 with TIdText.Create(IdMessage1.MessageParts, nil) do begin
    Body.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Bilgi.html');
      ContentType :='text/html; charset=UTF-8';
    end;

  
    IdMessage1.ContentType := 'multipart/related; type="text/html"';
    idmessage1.ContentType:='text/html; charset=UTF-8';
    idmessage1.ContentTransferEncoding:='8bit';


    IdSMTP1.Connect;
    IdSMTP1.Send(IdMessage1);
    IdSMTP1.Disconnect;
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Türkçe Html Mail yollama

Mesaj gönderen mkysoft »

Kullandığınız html utf-8 olmayabilir mi?
denizfatihi
Üye
Mesajlar: 254
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

Re: Türkçe Html Mail yollama

Mesaj gönderen denizfatihi »

Merhaba,

Şimdi kontrol ettim, kaynak kısmı aşağıdaki gibi gözüküyor utf-8 olarak

Kod: Tümünü seç

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name=Generator content="FastReport 5.0 http://www.fast-report.c
apex06
Üye
Mesajlar: 58
Kayıt: 19 Nis 2012 12:21

Re: Türkçe Html Mail yollama

Mesaj gönderen apex06 »

Merhaba,
Ben meta kısımlarını aşağıdaki gibi kullanıyorum ve TR karakter sorunu yaşamıyorum.

İyi çalışmalar.

Kod: Tümünü seç

Page2.Add('<!DOCTYPE html>');
Page2.Add('<html>');
Page2.Add('<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">');
Page2.Add('<meta charset="utf-8">');
Page2.Add('<head>');
denizfatihi
Üye
Mesajlar: 254
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

Re: Türkçe Html Mail yollama

Mesaj gönderen denizfatihi »

Merhaba,
Sayın apex06 ilginize teşekkür ederim,
sorun şu ki aşağıdaki kod ile her seferinde html raporu tekrardan oluşuyor, meta ayarlarını nereden yapıldığını bulamadım, yapıldığı yeri bilen var mı ?

Kod: Tümünü seç

if mail.RecordCount > 0
then begin
frxHTMLExport1.FileName:=ExtractFilePath(Application.ExeName)+'\Bilgi.html';
Mail_1.PrepareReport(true);
frxHTMLExport1.ShowDialog:=False;
Mail_1.Export(frxHTMLExport1);
apex06
Üye
Mesajlar: 58
Kayıt: 19 Nis 2012 12:21

Re: Türkçe Html Mail yollama

Mesaj gönderen apex06 »

Merhaba,

Fast Report tarafında hiç ihtiyacım olmadı ama frxHTMLExport1'in altında HTMLDocumentBegin var. Belki oraya meta taglarını yerleştirdiğinde düzgün alabilirsin.

İyi çalışmalar.
Cevapla