Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Link per SMTP versenden (https://www.delphipraxis.net/183565-link-per-smtp-versenden.html)

HolgerCW 20. Jan 2015 14:04

Delphi-Version: 2006

Link per SMTP versenden
 
Hallo zusammen,

ich versende so E-Mails:

Delphi-Quellcode:
var
 mymessage:TIdMessage;
 IdSMTP:TIdSMTP;
 myAttach: TIdAttachmentFile;
 strAttachment: String;
 strMessage: String;
...

 mymessage := TIdMessage.Create;
 IdSMTP := TIdSMTP.Create;
 try

  IdSMTP.Host := xxx;
  IdSMTP.Port := xx;
  IdSMTP.Connect;

  mymessage.From.Address := x;
  mymessage.From.Text := x;
  myMessage.Recipients.EMailAddresses := An;
  myMessage.CCList.EMailAddresses := Cc;
  myMessage.Date := myMessage.Date - Date;
 
  strMessage := Text;

  mymessage.ClearBody;
  mymessage.Body.Add(strmessage);
  mymessage.Subject := Subject;
Wie kann ich in der strmessage eine Linkzeile kenntlich machen, das diese auch in Outlook nicht als Text sondern als Link angezeigt wird.

Gruss

holger

DeddyH 20. Jan 2015 14:07

AW: Link per SMTP versenden
 
Ich nehme stark an, dass Du dafür HTML-Mails mit entsprechenden Tags versenden musst.

himitsu 20. Jan 2015 14:09

AW: Link per SMTP versenden
 
Zitat:

Zitat von DeddyH (Beitrag 1287149)
Ich nehme stark an, dass Du dafür HTML-Mails mit entsprechenden Tags versenden musst.

Jupp, also erstmal muß er das als HTML-Mail versenden und kann darin dann natürlich auch HTML-Code verwenden.

Bei Google suchenemail html indy

HolgerCW 20. Jan 2015 14:31

AW: Link per SMTP versenden
 
Danke schon mal.

Wenn ich folgendes ergänze:

Delphi-Quellcode:
mymessage.ContentType := 'text/html';
wird das natürlich alles ganz anders dargestellt. Der Link ist zwar nun sichtbar aber der vorher erstellte Text ist nun einfach hintereinander geschrieben.

So habe ich meinen Text gebaut:

Delphi-Quellcode:
strMessage := strMessage + #10#13 + 'Info: Diese E-Mail wurde aus xxx generiert.' + #10#13;
strMessage := strMessage + 'Bitte geben Sie nach Durchführung der Arbeit dem Absender eine Rückmeldung.';

if copy(FormEMail.ED_Anhang.Text,1,4) = 'Link' then
begin

 strMessage := strMessage + #10#13 + #10#13 + #10#13 + 'Link zum Bericht:' + #10#13;
 strMessage := strMessage + Link;

end;
Gibt es eine Möglichkeit nur den Link irgendwie anders hinzuzufügen ? Wenn ich die E-Mail von Outlook herraus weiterleite ist bei dem nächsten Empfänger der Link komischerweise unterstrichen und man kann Ihn anklicken.

Kann man hier nicht irgendwie ansetzen:

Delphi-Quellcode:
mymessage.Body.Add(strmessage1); //Normaler Text
mymessage.ContentType := 'text';
mymessage.Body.Add(strmessage2); //Link
mymessage.ContentType := 'text/html';
Gruss

Holger

DeddyH 20. Jan 2015 14:38

AW: Link per SMTP versenden
 
HTML interpretiert nunmal keine Zeilenumbrüche (wobei ich statt #10#13, was unter Windows ja eigentlich #13#10 sein müsste, eher die Konstante sLineBreak verwenden würde). Ersetz die doch einfach durch "<br />", dann hast Du auch Dein Umbrüche wieder. Wenn mich nicht alles täuscht, ist eine Mail entweder im Text- oder im HTML-Format, mischen kann man das nicht.

HolgerCW 20. Jan 2015 15:03

AW: Link per SMTP versenden
 
Alles klar mache das jetzt mit HTML mit dem <br />.

Klappt gut. Danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz