Newsgroup: it.comp.lang.delphi
Titolo: IdSMTP e Lotus Notes 6.5

Salve a tutto il ng,
ho di nuovo un problema con l'invio di eMail usando i componenty Indy 10.
Questa volta il problema č che un cliente che usa lotus notes 6.5, aprendo 
la mail che riceve, il corpo č pieno dei tags HTML che, anzichč essere 
interpretati, vengono mostrati come se fossero normalissimo testo. Qualcuno 
sa perchč?
Di seguido il codice che uso per costruire e spedire la mail:
function TfrmPrincipale.SendMail(Recipient, Oggetto, aDoc, Address, 
Messaggio: string): boolean;
const sLogo = 'logo_LA.jpg';
var
  Risultato     : boolean;
  AdressItem    : TIdEMailAddressItem;
  AMessage      : TIdMessage;
  ASMTP         : TIdSMTP;
  IdBody        : TIdText;
  Allegato      : TIdAttachmentFile;
  testo_non_html: string;
begin
  Screen.Cursor := crHourGlass;
  AMessage := TIdMessage.Create(nil);
  AMessage.UseNowForDate       := True;
  AMessage.IsMsgSinglePartMime := False;
  //AMessage.NoDecode := False;
  //AMessage.NoEncode := False;
  AMessage.ConvertPreamble := False;
  AMessage.ContentType := 'multipart/mixed;type="multipart/alternative"';
  AMessage.Encoding := meMIME;
  //AMessage.ExtraHeaders.Values['type'] := 'multipart/alternative';
  AMessage.ExtraHeaders.Values['X-Priority'] := '3';
  AMessage.ExtraHeaders.Values['X-MSMail-Priority'] := 'Normal';
  AMessage.ExtraHeaders.Values['X-Mailer'] := 'Microsoft Outlook Express 
6.00.2900.3028';
  AMessage.ExtraHeaders.Values['X-MimeOLE'] := 'Produced By Microsoft 
MimeOLE V6.00.2900.3028';
  // Impostiamo il Soggetto.
  AMessage.Subject := Oggetto;
  // Impostiamo il Sender.
 
AMessage.Sender.Name
 := 'NOME MITTENTE';
  AMessage.Sender.Address := self.parametri.indirizzo;
  // Impostiamo il From.
 
AMessage.From.Name
 := 
AMessage.Sender.Name
;
  AMessage.From.Address := AMessage.Sender.Address;
  // Impostiamo il recipiente dei destinatari.
  AdressItem := AMessage.Recipients.Add;
  AdressItem.Name := Recipient;
  AdressItem.Address := Address;
  IdBody := TIdText.Create(AMessage.MessageParts);
  IdBody.Body.Text := '';  //Not really needed, makes it clear
  IdBody.ContentType := 'multipart/alternative';
  IdBody.ParentPart := -1;
  // Creiamo il text plain.
  IdBody := TIdText.Create(AMessage.MessageParts);
  IdBody.ContentType := 'text/plain';
  IdBody.CharSet     := 'iso-8859-1';
  IdBody.ContentTransfer := 'quoted-printable';
    testo_non_html := AnsiReplaceStr(messaggio, '\r\n', #13);
    testo_non_html := AnsiReplaceStr(testo_non_html, '<span 
style="font-weight:600;">', '');
    testo_non_html := AnsiReplaceStr(testo_non_html, '</span>', '');
    testo_non_html := AnsiReplaceStr(testo_non_html, '<b>', '');
    testo_non_html := AnsiReplaceStr(testo_non_html, '</b>', '');
    testo_non_html := AnsiReplaceStr(testo_non_html, '&#147;', '"');
    testo_non_html := AnsiReplaceStr(testo_non_html, '&#148;', '"');
  IdBody.Body.Add(testo_non_html);
  IdBody.ParentPart := 0;
    IdBody := TIdText.Create(AMessage.MessageParts);
    IdBody.Body.Text := '';  //Not really needed, makes it clear
    IdBody.ContentType := 'multipart/related';
    IdBody.ParentPart := 0;
  //Parte 3 (la versione html del messaggio)...
  IdBody := TIdText.Create(AMessage.MessageParts);
  IdBody.ContentType := 'text/html';
  IdBody.CharSet     := 'iso-8859-1';
  IdBody.ContentTransfer := 'quoted-printable';
  IdBody.Body.Add('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 
Transitional//EN">');
  IdBody.Body.Add('<HTML><HEAD>');
  IdBody.Body.Add('<META http-equiv="Content-Type content=3D"text/html; =');
  IdBody.Body.Add('charset=3Diso-8859-1">');
  IdBody.Body.Add('<META content="MSHTML 6.00.6000.16414" 
name="GENERATOR">');
  IdBody.Body.Add('<STYLE></STYLE>');
  IdBody.Body.Add('</HEAD>');
  IdBody.Body.Add('<BODY bgColor="#ffffff">');
  IdBody.Body.Add('   <table cellpadding="1" cellspacing="1" 
style="border:0;">');
    IdBody.Body.Add('   <tr>');
      IdBody.Body.Add('   <td style="vertical-align:top;">');
      IdBody.Body.Add('     <a href="
http://www.google.it
" 
alt="
www.google.it
">');
      IdBody.Body.Add('       <img src="cid:<'+sLogo+'>" alt="Brand" 
title="Brand" valign="top" border="0" />');
      IdBody.Body.Add('     </a>');
      IdBody.Body.Add('   </td>');
      IdBody.Body.Add('   <td style="text-align:justify;">');
      IdBody.Body.Add(      AnsiReplaceStr(messaggio, '\r\n', '<br />'));
      IdBody.Body.Add('   </td>');
    IdBody.Body.Add('   </tr>');
  IdBody.Body.Add('   </table>');
  IdBody.Body.Add('</BODY></HTML>');
  IdBody.ParentPart := 2;
  //Aggiungiamo il logo
  Allegato := TIdAttachmentFile.Create(AMessage.MessageParts, sLogo);
  Allegato.ContentTransfer := 'base64';
  Allegato.FileName            := ''; //sLogo;
  Allegato.ContentType         := 'image/jpeg';
  Allegato.ContentDisposition  := 'inline';
  Allegato.ExtraHeaders.Values['content-id'] := '<' + sLogo + '>';
  Allegato.DisplayName         := '<Logo>';
  Allegato.ParentPart := 2;
  if Trim(aDoc) <> '' then begin
    // Aggiungiamo l'allegato. Non dimenticare gli extra headers!
    Allegato := TIdAttachmentFile.Create(AMessage.MessageParts, aDoc);
    Allegato.ContentTransfer := 'base64';
    Allegato.ExtraHeaders.Values['Content-ID'] := '<' + aDoc + '>';
    Allegato.ContentType := 'application/pdf';
    Allegato.ParentPart := -1;
  end;
  // Inviamo la mail...
  Risultato := True;
  ASMTP := TIdSMTP.Create(nil);
  ASMTP.Host := self.parametri.server_smtp;
  ASMTP.Port := self.parametri.porta_smtp;
  ASMTP.AuthType := atNone;
  ASMTP.Connect;
  try
    ASMTP.Send(AMessage);
  except
    on E: Exception do begin
      //ShowMessageFmt('ERRORE! %s ha generato il seguente messaggio: ' + 
#10#13 + ' %s', [E.ClassName, E.Message]);
      Risultato := False;
    end;
  end;
  ASMTP.Disconnect;
  AMessage.Free;
  ASMTP.Free;
  Screen.Cursor := crDefault;
  Result := Risultato;
end;
Grazie a tutti
Luca 

Premesso che dal msg non capisco se il cliente usa lotus come CLIENT o
come SERVER di posta
2) Il problema lo ha SOLO quel cliente con QUEL particolare software?
3) presso il cliente c'è un altro utente al quale puoi mandare una
mail giusto x essere sicuri che non abbia pasticciato con le
impostazioni del software di posta?
Ps:..
Lotus SERVER sembra sia un buon software.
Il client fa molte cose ma succhia risorse di sistema con la pala....
Pax vobiscum
A.

 abbia pasticciato con le impostazioni del software di posta?
Purtroppo no. posso fare l'invio solo a quella casella...
grazie
Luca

 Purtroppo no. posso fare l'invio solo a quella casella...
mi spiace... :-|
A.

 Poi trova le differenze di headers.
intestazioni mail inviata da programma:
X-AuditID: 0a0a0025-000013a000000680-6d-4649e42f06ff
Received: from 
dominio.it
 ([IP mail server mittente] RDNS failed) by 
mail.seltapc.wsm with Microsoft SMTPSVC(6.0.3790.3959);
  Tue, 15 May 2007 18:47:43 +0200
Received: (qmail 10428 invoked from network); 15 May 2007 16:47:39 -0000
Received: from unknown (HELO lamb-2) (213.140.11.129)
  by #server mittente# with SMTP; 15 May 2007 16:47:39 -0000
From: "Brand" <mail@mittente>
Subject: Invio automatico
To: "Destinatario" <mail@destinatario>
Content-Type: multipart/mixed;type="multipart/alternative"; 
boundary="7P3vxWmk0OS41XqGighx1jeoc=_IuSm1sv"
MIME-Version: 1.0
Sender: "Brand" <mail@mittente>
Date: Tue, 15 May 2007 18:44:37 +0000
X-Priority: 3
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028
X-Spam-Rating: 
mail.lineappalti.it
 1.6.2 0/1000/N
intestazioni mail inviata con outlook express:
Return-Path: <mail@mittente>
Received: from 
aa014msr.fastwebnet.it
 (10.31.174.97) by 
cpmsres04.intranet.fw (7.3.118)
        id 4649C7D100018D7E for mail@mittente; Wed, 16 May 2007 09:35:27 
+0100
Received: from amd64 (1.243.173.7) by 
aa014msr.fastwebnet.it
 (7.3.118.6)
        id 464842EF001CFB71 for mail@mittente; Wed, 16 May 2007 10:35:27 
+0200
Message-ID: <004201c79795$28bb8e10$f500a8c0@amd64>
From: "Brand" <mail@mittente>
To: "Destinatario" <mail@destinatario>
Subject: Invio automatico
Date: Wed, 16 May 2007 10:35:28 +0200
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="----=_NextPart_000_003B_01C797A5.EC03F9B0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.3028
Disposition-Notification-To: "Destinatario" <mail@destinatario>
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028
X-Antivirus: avast! (VPS 000740-1, 15/05/2007), Outbound message
X-Antivirus-Status: Clean
X-Antivirus: avast! (VPS 000740-1, 15/05/2007), Inbound message
X-Antivirus-Status: Clean
Luca

 mail.seltapc.wsm with Microsoft SMTPSVC(6.0.3790.3959);
Secondo me, ma potrei anche sbagliare, il problema è qua: quel "failed" e'
qualcosa di sospetto.
L'rDNS è (copio brutalmente)
pronounced as separate letters) Short for reverse DNS, a method of name
resolution in which an IP address is resolved into a domain name, which is
the opposite of the typical resolution method of DNS, which resolves
domain names into IP addresses. One practical application of reverse DNS
is as an anti-spam measure. Because spammers often use invalid IP
addresses to send e-mails, rDNS will determine the authenticity of a
domain name compared to the IP address from which it is originating. 
Come sistemarlo, sinceramente, non lo so. Non sono così ferrato
sull'argomento. Magari su qualche NG piu' 'a tema' potresti trovare piu'
aiuto.
Ciao
ACSH
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it