smtp mail gönderme xe6 html problemi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
mustafasoy
Üye
Mesajlar: 154
Kayıt: 02 Ağu 2013 05:00
Konum: istanbul
İletişim:

smtp mail gönderme xe6 html problemi

Mesaj gönderen mustafasoy »

aşağıdaki kodu delphi 7 ile oluşturuyorum , sorunumda yok ancak hem projeyi xe6 ya yükselteyim hemde gmail Hotmail ve diğer posta sunucuları için çalışssın diye xe6 da düzenlemeye karar verdim.

Kod: Tümünü seç

 <html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-9">
<meta http-equiv="Content-Language" content="tr">
<title>sevk</title>
</head>
<body lang=TR >
<h1>korgün yazılım</h1>
<p> <b>kime : ALTOBELLI</b>
<p> <b>tarih :  18.11.2014</b>
<hr>
<style type="text/css">
.tg  {border-collapse:collapse;border-spacing:0;border-color:#999;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:0px;overflow:hidden;word-break:normal;border-color:#999;color:#444;background-color:#F7FDFA;border-top-width:1px;border-bottom-width:1px;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:0px;overflow:hidden;word-break:normal;border-color:#999;color:#fff;background-color:#26ADE4;border-top-width:1px;border-bottom-width:1px;}
</style>
<table class="tg">
<tr> 
<th class="tg-pjj5">skod</th>
<th class="tg-pjj5">miktar</th>
<th class="tg-pjj5">fiyat</th>
<th class="tg-pjj5">kur</th>
<th class="tg-pjj5">Birim</th>
<th class="tg-pjj5">sipno</th>
</tr>
<tr>
<td class="tg-031e">10001</td>
<td class="tg-031e">10</td>
<td class="tg-031e">121,57</td>
<td class="tg-031e">TL</td>
<td class="tg-031e">CIFT</td>
<td class="tg-031e"></td>
</tr>
<tr>
<td class="tg-031e">10001-1</td>
<td class="tg-031e">10</td>
<td class="tg-031e">44</td>
<td class="tg-031e">TL</td>
<td class="tg-031e">CIFT</td>
<td class="tg-031e"></td>
</tr>
<tr>
<td class="tg-031e">10002</td>
<td class="tg-031e">10</td>
<td class="tg-031e">8,39</td>
<td class="tg-031e">TL</td>
<td class="tg-031e">CIFT</td>
<td class="tg-031e"></td>
</tr>
<tr>
<td class="tg-031e">10003</td>
<td class="tg-031e">10</td>
<td class="tg-031e">92,25</td>
<td class="tg-031e">TL</td>
<td class="tg-031e">CIFT</td>
<td class="tg-031e"></td>
</tr>
</table>
<p>
</html>
</body>
gmail , Hotmail ve diğer posta sunucuları için prosedür haline getirdim gayette güzel çalışırken sıra test etmeye geldi ki aşağıdaki gibi göründü

Kod: Tümünü seç

icerik : ğış ĞİŞ - ğış ĞİŞ

--3XZE=_fLi7hHoYtdlVPmwk7ay50uQHyV1d
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

 <html>
<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Diso-88=
59-9">
<meta http-equiv=3D"Content-Language" content=3D"tr">
<title>sevk</title>
</head>
<body lang=3DTR >
<h1>korg=FCn yaz?l?m</h1>
<p> <b>kime : AFACAN TICARET</b>
<p> <b>tarih :  23.11.2014</b>
<hr>
<style type=3D"text/css">
=2Etg  {border-collapse:collapse;border-spacing:0;border-color:#999;}
=2Etg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px=
;border-style:solid;border-width:0px;overflow:hidden;word-break:normal=
;border-color:#999;color:#444;background-color:#F7FDFA;border-top-widt=
h:1px;border-bottom-width:1px;}
=2Etg th{font-family:Arial, sans-serif;font-size:14px;font-weight:norm=
al;padding:10px 5px;border-style:solid;border-width:0px;overflow:hidde=
n;word-break:normal;border-color:#999;color:#fff;background-color:#26A=
DE4;border-top-width:1px;border-bottom-width:1px;}
</style>
<table class=3D"tg">
<tr>=20
<th class=3D"tg-pjj5">xskod</th>
<th class=3D"tg-pjj5">xmiktar</th>
<th class=3D"tg-pjj5">fiyat</th>
<th class=3D"tg-pjj5">kur</th>
<th class=3D"tg-pjj5">Birim</th>
<th class=3D"tg-pjj5">sipno</th>
</tr>
<tr>
<td class=3D"tg-031e">10010-M-L</td>
<td class=3D"tg-031e">10</td>
<td class=3D"tg-031e">108</td>
<td class=3D"tg-031e">TL</td>
<td class=3D"tg-031e">CIFT</td>
<td class=3D"tg-031e"></td>
</tr>
</table>
<p>

Korg=FCn Yaz?l?m Dan.Tic.Ltd.?ti</p>
</html>
</body>

--3XZE=_fLi7hHoYtdlVPmwk7ay50uQHyV1d--
delphi7 deki kodu hiç değişiklik yapmadan xe6 içerisine yükledim bu sefer iyice saçmalamaya başladı bu konuda tecrübesi olan arkadaşların fikrini rica ediyorum.

Kod: Tümünü seç

This is a multi-part message in MIME format

--UHaPjj2OQHEECZU2FouaO8pYtx6=_Idlvl
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline


--UHaPjj2OQHEECZU2FouaO8pYtx6=_Idlvl
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

 <html>
<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Diso-88= 59-9"> <meta http-equiv=3D"Content-Language" content=3D"tr"> <title>sevk</title> </head> <body lang=3DTR > <h1>korg=FCn yaz?l?m</h1> <p> <b>kime : AFACAN TICARET</b> <p> <b>tarih :  23.11.2014</b> <hr> <style type=3D"text/css"> =2Etg  {border-collapse:collapse;border-spacing:0;border-color:#999;}
=2Etg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px= ;border-style:solid;border-width:0px;overflow:hidden;word-break:normal=
;border-color:#999;color:#444;background-color:#F7FDFA;border-top-widt=
h:1px;border-bottom-width:1px;}
=2Etg th{font-family:Arial, sans-serif;font-size:14px;font-weight:norm=
al;padding:10px 5px;border-style:solid;border-width:0px;overflow:hidde=
n;word-break:normal;border-color:#999;color:#fff;background-color:#26A=
DE4;border-top-width:1px;border-bottom-width:1px;}
</style>
<table class=3D"tg">
<tr>=20
<th class=3D"tg-pjj5">xskod</th>
<th class=3D"tg-pjj5">xmiktar</th>
<th class=3D"tg-pjj5">fiyat</th>
<th class=3D"tg-pjj5">kur</th>
<th class=3D"tg-pjj5">Birim</th>
<th class=3D"tg-pjj5">sipno</th>
</tr>
<tr>
<td class=3D"tg-031e">10010-M-L</td>
<td class=3D"tg-031e">10</td>
<td class=3D"tg-031e">108</td>
<td class=3D"tg-031e">TL</td>
<td class=3D"tg-031e">CIFT</td>
<td class=3D"tg-031e"></td>
</tr>
</table>
<p>
</html>
</body>

--UHaPjj2OQHEECZU2FouaO8pYtx6=_Idlvl--

Kod: Tümünü seç

   Page:=TStringList.Create;
   Page.Add(' <html>');
   Page.Add('<head>');
 Page.Add('<meta http-equiv=Content-Type content="text/html; charset=iso-8859-9">');

   Page.Add('<meta http-equiv="Content-Language" content="tr">');
   Page.Add('<title>'+edt_g_konu.Text+'</title>');
   Page.Add('</head>');
   Page.Add('<body lang=TR >');
   Page.Add('<h1>'+edt_baslik.Text +'</h1>');
   Page.Add('<p> <b>'+edt_alici.Text+' '+cname +'</b>');
   Page.Add('<p> <b>'+edt_tarih.Text+' '+DateToStr(Now)+'</b>');
   Page.Add('<hr>');

  Page.Add('<style type="text/css">');
  Page.Add('.tg  {border-collapse:collapse;border-spacing:0;border-color:#999;}');
  Page.Add('.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:0px;overflow:hidden;'+
           'word-break:normal;border-color:#999;color:#444;background-color:#F7FDFA;border-top-width:1px;border-bottom-width:1px;}');
  Page.Add('.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px'+
           ' 5px;border-style:solid;border-width:0px;overflow:hidden;word-break:normal;border-color:#999;color:#fff;background-color:#26ADE4;'+
           'border-top-width:1px;border-bottom-width:1px;}');
  Page.Add('</style>');
  Page.Add('<table class="tg">');

  Page.Add('<tr> ');
  for i:=0 to ADODataSet2.FieldCount-1 do
  Page.Add('<th class="tg-pjj5">'+ADODataSet2.Fields[i].FieldName+'</th>');
  Page.Add('</tr>');


  while not ADODataSet2.Eof do
  begin
  //---------------------
  Page.Add('<tr>');
    for i:= 0 to ADODataSet2.FieldCount-1 do
    begin
    Page.Add('<td class="tg-031e">'+ADODataSet2.Fields[i].AsString+'</td>');
    end;
  Page.Add('</tr>');
  //---------------------
  ADODataSet2.Next;
  end;

   Page.Add('</table>');
   Page.Add('<p>');
   Page.Add('<b>'+mm_dipnot.text +'</b></p>');
   for j:=0 to mm_imza.Lines.Count-1 do
   begin
  Page.Add(mm_imza.Lines[j]+'</p>');
   end;

   Page.Add('</html>');
   Page.Add('</body>');
   Button3Click(Sender);

  except
  StatusBar1.Panels[2].Text:='Hata oluştu sistem yönetinizi ile görüşün...';
  end;
end;


procedure TForm1.Button3Click(Sender: TObject);
Var
  IdSMTP               : TIdSMTP;
  IdMessage            : TIdMessage;
  HTMLpart             : TIdText;
 // Attachment           : TIdAttachment;
begin
  try
  IdSMTP                            := TIdSMTP.Create(Nil);
  IdSMTP.AuthenticationType         := atLogin;
  IdSMTP.Host                       := edt_m_host.Text;
  IdSMTP.Username                   := edt_m_username.Text;
  IdSMTP.Password                   := edt_m_password.Text; 
  IdSMTP.Port                       := strtoint(edt_m_port.text);
  IdMessage                         := TIdMessage.Create( nil );
  idMessage.ContentType             := 'text/plain';
  IdMessage.From.Name               :=  edt_g_adi.Text; 
  IdMessage.From.Address            :=  edt_g_mail.Text;
  IdMessage.Recipients.Add;
//IdMessage.Recipients[0].Name      := 'xxxx';
  IdMessage.Recipients[0].Address   := ADODataSet1.Fields[2].AsString;
  IdMessage.ReceiptRecipient.Text   := edt_g_okundu.Text;  
  IdMessage.CCList.Add.Address      := edt_g_bilgi.Text; 
  IdMessage.Subject                 := edt_g_konu.Text; 

  HTMLpart := TIdText.Create( IdMessage.MessageParts );
  HTMLpart.ContentType     := 'text/plain';
  HTMLpart.Body.Text       := '';
  HTMLpart.ContentTransfer := 'quoted-printable';

  HTMLpart := TIdText.Create( IdMessage.MessageParts );
  HTMLpart.ContentType     := 'text/html';
  HTMLpart.ContentTransfer := 'quoted-printable';
  With HTMLpart.Body do begin
    Clear;

    HTMLpart.Body.Assign(page); 

//////////////////////////////////////////////////

  end;

  IdSMTP.Connect;
  IdSMTP.Authenticate;
  IdSMTP.Send( IdMessage );
  IdSMTP.Disconnect;

 // Attachment.Free;
  IdMessage.Free;
  IdSMTP.Free;
  except
  StatusBar1.Panels[2].Text:='Mail gönderilirken hata oluştu ayarlarınızı kontrol ediniz..';
  end;
  end;
mail gönderdiğim yapı yukarıdaki gibi
Nasıl ki Soru sorarak öğrendiyseniz , öğrendiklerinizi cevap vererek öğretiniz.
Kullanıcı avatarı
mustafasoy
Üye
Mesajlar: 154
Kayıt: 02 Ağu 2013 05:00
Konum: istanbul
İletişim:

Re: smtp mail gönderme xe6 html problemi

Mesaj gönderen mustafasoy »

sorun indy10 ile alakalı olduğunu düşünüyorum
delphi7 de indy9 kurulu iken proje sorunsuz olarak çalışıyordu
şimdi indy9 u kaldırarak indy10 kurdum ve proje derledikten sonra mail gönderdim ancak sorun xe6 dakiyle aynı

Kod: Tümünü seç

This is a multi-part message in MIME format

--wPNOWgB=_kNkclJjbLMWYBhlwSS9UrW1qs
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline


--wPNOWgB=_kNkclJjbLMWYBhlwSS9UrW1qs
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

 <html>
<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Diso-88= 59-9"> <meta http-equiv=3D"Content-Language" content=3D"tr"> <title>=F0=FD=FE - =D0=DD=DE </title> </head> <body lang=3DTR > <h1>=F0=FD=FE - =D0=DD=DE korg=FCn yaz=FDl=FDm</h1> <p> <b>=F0=FD=FE - =D0=DD=DE kime : AFACAN TICARET</b> <p> <b>=F0=FD=FE - =D0=DD=DE tarih :  24.11.2014</b> <hr> <style type=3D"text/css"> =2Etg  {border-collapse:collapse;border-spacing:0;border-color:#999;}
=2Etg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px= ;border-style:solid;border-width:0px;overflow:hidden;word-break:normal=
;border-color:#999;color:#444;background-color:#F7FDFA;border-top-widt=
h:1px;border-bottom-width:1px;}
=2Etg th{font-family:Arial, sans-serif;font-size:14px;font-weight:norm=
al;padding:10px 5px;border-style:solid;border-width:0px;overflow:hidde=
n;word-break:normal;border-color:#999;color:#fff;background-color:#26A=
DE4;border-top-width:1px;border-bottom-width:1px;}
</style>
<table class=3D"tg">
<tr>=20
<th class=3D"tg-pjj5">=F0=FD=FE - =D0=DD=DE xskod</th> <th class=3D"tg-pjj5">=F0=FD=FE - =D0=DD=DE xmiktar</th> <th class=3D"tg-pjj5">=F0=FD=FE - =D0=DD=DE fiyat</th> <th class=3D"tg-pjj5">=F0=FD=FE - =D0=DD=DE kur</th> <th class=3D"tg-pjj5">=F0=FD=FE - =D0=DD=DE Birim</th> <th class=3D"tg-pjj5">=F0=FD=FE - =D0=DD=DE sipno</th> </tr> <tr> <td class=3D"tg-031e">10010-M-L</td> <td class=3D"tg-031e">10</td> <td class=3D"tg-031e">108</td> <td class=3D"tg-031e">TL</td> <td class=3D"tg-031e">CIFT</td> <td class=3D"tg-031e"></td> </tr> </table> <p> <b>=F0=FD=FE - =D0=DD=DE yok art=FDk </b></p> =F0=FD=FE - =D0=DD=DE
</html>
</body>

--wPNOWgB=_kNkclJjbLMWYBhlwSS9UrW1qs--
Nasıl ki Soru sorarak öğrendiyseniz , öğrendiklerinizi cevap vererek öğretiniz.
Kullanıcı avatarı
mustafasoy
Üye
Mesajlar: 154
Kayıt: 02 Ağu 2013 05:00
Konum: istanbul
İletişim:

Re: smtp mail gönderme xe6 html problemi

Mesaj gönderen mustafasoy »

htmlpart kullanmak yerine oluşturduğum stringlisti (page)
idmessage.Body.Assign(page); olarak adadım olay çözüldü , umarım başka arkadaşların işine yarar
Nasıl ki Soru sorarak öğrendiyseniz , öğrendiklerinizi cevap vererek öğretiniz.
Cevapla