Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 2.672 pregleda

Najnovija ↓

Mail HTML sa slikicama u potpisu 11.05.2018. u 15:15 · pre 103 meseca #1
D 2007
Napravio mail sender koji šalje attachment dokumente, kreira tekst, svaša (samo kavu ne kuha).

Program kreira html mail.

Problem nastaje: oni hoće u potpisu maila: slika + tekst i to tako da su u istoj ravini tj. lijevo je slikica, a desno od slike je tekst.
Pokušao sam napraviti html file sa potpisom, ali kako ga dodati na kraj maila?
Pokušao sam:
Code:

        mt2 := TIdText.Create(IdMessage1.MessageParts);
        mt2.Body.LoadFromFile(fPotpisFile);
        mt1.ContentType := 'text/html';

ovo mi nalijepi taj html potpis u attachment, a ne u bodey mail-a.
Ideje? Komadić koda?
Re: Mail HTML sa slikicama u potpisu 11.05.2018. u 15:31 · pre 103 meseca #2
Ovde ti je primer powershell skripta koji priprema html mail za slanje.

Ključno za slanje slike unutar maila, a ne kao attachment je:
$attachment = New-Object System.Net.Mail.Attachment –ArgumentList "C:\temp\NEKI.jpg"
$attachment.ContentDisposition.Inline = $True
$attachment.ContentDisposition.DispositionType = "Inline"
$attachment.ContentType.MediaType = "image/jpg"
$attachment.ContentId = 'NEKI.jpg'

Dakle, mora se navesti da je attachment INLINE, kako bi se pojavio u tekstu, a ne tamo gde se bi ga stavio ako nije inline.


Code:

$smtpServer = "xxx.xxx.xxx.xxx"
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$Smtp.Credentials = New-Object System.Net.NetworkCredential("USERNAME","PASSWORD","DOMAIN")

$msg.From = "MAIL ADRESA POŠILAJOCA"

$msg.subject = "SUBJECT MAILA"


$msg.IsBodyHtml = $True
$msg.body = [IO.File]::ReadAllText("c:\temp\NEKI.html") 

$attachment = New-Object System.Net.Mail.Attachment –ArgumentList "C:\temp\NEKI.jpg"
$attachment.ContentDisposition.Inline = $True
$attachment.ContentDisposition.DispositionType = "Inline"
$attachment.ContentType.MediaType = "image/jpg"
$attachment.ContentId = 'NEKI.jpg'
$msg.Attachments.Add($attachment)


Ovde je deo iz html teksta maila, gde se vidi kako se referenciraš na inline sliku u telu maila:
Code (html):
<img src="cid:NEKI.jpg" height="345" width="550" alt="NEKI ALT">
Re: Mail HTML sa slikicama u potpisu 11.05.2018. u 15:52 · pre 103 meseca #3
Hvala djoka_I, ali ja to sve moram napraviti u Delphi-u.

Cijeli tekst maila kreiram kao Rich tekst, a onda ga transformiram u html prije samog slanja.
Potpis bih mogao nalijepiti na rich tekst (imam ga isto tako u rich formatu), ali... kako je potpis kreiran kao tablica s 3 kolone, kada ga učitam u RicheEdit - izgubi se tablica pa kolone budu ipisane jedna ispod druge.

Orginal:
<slikica> tekst 1 tekst 2
. tekst 1.1 tekst 2.2

Učitano u RichEdit:

<slikica>
tekst1 tekst 1.1
tekst2 tekst 2.2
Re: Mail HTML sa slikicama u potpisu 11.05.2018. u 17:48 · pre 103 meseca #4
OK, pitanje je bilo
Citat:
Mail HTML sa slikicama u potpisu

Pokušao sam napraviti html file sa potpisom, ali kako ga dodati na kraj maila?

i na to sam odgovorio.
Da si pitao kako da spojiš dva rtf dokumenta u jedan bez gubitka strukture tabele, možda bi ti odgovorio neko ko to zna.
Re: Mail HTML sa slikicama u potpisu 12.05.2018. u 15:42 · pre 103 meseca #5

Moze da se ubaci ovako:

Richedit.Perform(EM_STREAMIN, SF_RTF or SFF_SELECTION...

Mogu se izguglati primeri.
Re: Mail HTML sa slikicama u potpisu 14.05.2018. u 15:11 · pre 103 meseca #6
Mozes li pre slanja, kad vec imas HTML, zameniti "</body>" sa "<table><tr><td>jedno polje</td><td>drugo polje</td></tr></table></body>"? StringReplace funkcija npr
Re: Mail HTML sa slikicama u potpisu 15.05.2018. u 21:48 · pre 103 meseca #7
Za slikicu treba ubaciti u html kod:

<img src="cid:slikicaID" />

a onda dodati attachment sa:

att.ContentId := '<slikicaID>';
att.ContentType := GetMIMETypeFromFile(FileName);
if TextStartsWith(att.ContentType, 'image/') then
att.ContentDisposition := 'inline';

att.ParentPart := 0;
txt.ParentPart := 1;
html.ParentPart := 1;
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme