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 » 10 Ara 2011 01:57

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: 3006
Kayıt: 25 Ağu 2003 11:35
Konum: İstanbul
İletişim:

Re: Türkçe Html Mail yollama

Mesaj gönderen mkysoft » 10 Ara 2011 02:37

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 » 10 Ara 2011 02:41

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: 3006
Kayıt: 25 Ağu 2003 11:35
Konum: İstanbul
İletişim:

Re: Türkçe Html Mail yollama

Mesaj gönderen mkysoft » 10 Ara 2011 02:48

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 » 10 Ara 2011 02:51

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 » 10 Ara 2011 03:02

çö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 05:13

Re: Türkçe Html Mail yollama

Mesaj gönderen savasgti » 12 Ara 2011 09:39

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: 234
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

Re: Türkçe Html Mail yollama

Mesaj gönderen denizfatihi » 27 Şub 2019 09:46

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: 3006
Kayıt: 25 Ağu 2003 11:35
Konum: İstanbul
İletişim:

Re: Türkçe Html Mail yollama

Mesaj gönderen mkysoft » 27 Şub 2019 09:06

Kullandığınız html utf-8 olmayabilir mi?

denizfatihi
Üye
Mesajlar: 234
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

Re: Türkçe Html Mail yollama

Mesaj gönderen denizfatihi » 27 Şub 2019 09:14

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: 57
Kayıt: 19 Nis 2012 11:21

Re: Türkçe Html Mail yollama

Mesaj gönderen apex06 » 06 Mar 2019 02:11

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: 234
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

Re: Türkçe Html Mail yollama

Mesaj gönderen denizfatihi » 06 Mar 2019 04:42

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: 57
Kayıt: 19 Nis 2012 11:21

Re: Türkçe Html Mail yollama

Mesaj gönderen apex06 » 07 Mar 2019 12:45

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