Condividi:        

[ASP] Embedded images nelle mail

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Anthony47, Triumph Of Steel, archimede

[ASP] Embedded images nelle mail

Postdi fiorella.fortunato » 06/10/07 19:09

Avrei necessità in ASP di inviare delle mail aventi nel corpo del messaggio un'immagine che non sia un <img src=http://.....> ma sia embedded overo creata all'interno.
Come posso modificare questo codice affinchè riesca nel mio intento?
Codice: Seleziona tutto
Set oMail = Server.CreateObject("CDO.Message")
oMail.To = "destinatario@adestinatario.it"
oMail.From = "mittente@mittente.it"
oMail.Subject = "Prova messaggio"
testo="Messaggio di prova<br>"
oMail.HtmlBody = testo
oMail.Send
Fiorella Fortunato
- Il 99% dei problemi di un computer sta tra la sedia e la tastiera...
Avatar utente
fiorella.fortunato
Utente Junior
 
Post: 59
Iscritto il: 11/09/05 11:38

Sponsor
 

Postdi Triumph Of Steel » 08/10/07 08:09

prova ad inviarle come allegato..
Codice: Seleziona tutto
oMal.AddAttachment "c:\test.jpg"
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi fiorella.fortunato » 08/10/07 14:13

*** oMail.AddAttachment ***

Ho provato l'istruzione ma si limita solo ad allegare l'immagine.

A me interessava inserire l'immagine all'interno di una table.

Ho trovato da qualche parte che bastava "taggare" l'immagine con un'istruzione simile a questa <img src="cid:test.jpg"> ed applicare una classe (nel mio caso oMail.istruzione "c:\test.jpg","test.jpg"... ma non sono mai riuscita ad applicarla correttamente e quindi far partire le mail.
Fiorella Fortunato
- Il 99% dei problemi di un computer sta tra la sedia e la tastiera...
Avatar utente
fiorella.fortunato
Utente Junior
 
Post: 59
Iscritto il: 11/09/05 11:38

Postdi Triumph Of Steel » 08/10/07 21:00

ma mettendo come SRC dell'immagine semplicemente il nome del file, e allegando l'immagine, non funziona?
dovrebbe, in teoria.
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi fiorella.fortunato » 09/10/07 21:31

No, nulla da fare.
Ti allego 2 estratti delle mail.
Il primo è stato creato con il comando che mi hai descritto.
Il secondo è di un messaggio che mi sono inviata con Outlook Exp.
Nel primo caso l'immagine è la classica "X" rossa...
Codice: Seleziona tutto
------=_NextPart_001_0002_01C80ABF.42D25110
Content-Type: text/html;
   charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<img src=3D'cid:prova.jpg'>Prova messaggio.
------=_NextPart_001_0002_01C80ABF.42D25110--

------=_NextPart_000_0001_01C80ABF.42D25110
Content-Type: image/jpeg;
   name="prova.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
   filename="prova.jpg"

/9j/4AA.......................(segue codice jpg)

Codice: Seleziona tutto
------=_NextPart_001_0011_01C80834.B150E710
Content-Type: text/html;
   charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<IMG src=3D"cid:000f01c80823$edb9bf30$0201a8c0@helamabirij">

------=_NextPart_001_0011_01C80834.B150E710--

------=_NextPart_000_0010_01C80834.B150E710
Content-Type: image/jpeg;
   name="prova.jpg"
Content-Transfer-Encoding: base64
Content-ID: <000f01c80823$edb9bf30$0201a8c0@helamabirij>

/9j/4AA.......................(segue codice jpg)

Una sintassi MIME un po' differente....
Fiorella Fortunato
- Il 99% dei problemi di un computer sta tra la sedia e la tastiera...
Avatar utente
fiorella.fortunato
Utente Junior
 
Post: 59
Iscritto il: 11/09/05 11:38

Postdi Triumph Of Steel » 10/10/07 00:42

cercando ho trovato anche questo, ma non ho testato:

Codice: Seleziona tutto
<%
  with oMail
    .AttachURL "C:\Inetpub\wwwroot\logo.gif", "mylogo.gif"
    .Body = "Display your embedded image like this: <img src='mylogo.gif'>"
  end with
%>

AttachURL.. dovrebbe avere come parametri "percorso" e "nome"
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi fiorella.fortunato » 13/10/07 18:28

Codice: Seleziona tutto
Microsoft VBScript runtime  error '800a01b6'
Object doesn't support this property or method: 'AttachURL'
:cry:
Fiorella Fortunato
- Il 99% dei problemi di un computer sta tra la sedia e la tastiera...
Avatar utente
fiorella.fortunato
Utente Junior
 
Post: 59
Iscritto il: 11/09/05 11:38

Postdi Triumph Of Steel » 14/10/07 11:01

hai ragione, scusa... invece che CDO dovresti usare CDONTS...

http://msdn2.microsoft.com/en-us/library/ms526651.aspx
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi fiorella.fortunato » 14/10/07 12:38

Una volta usavo di default la funzione CDONTS. Ma l'anno scorso o forse verso l'inizio di quest'anno i vari server andavano via via mostrando un certo errore quando utilizzavano quella libreria. Credo a causa di aggiornamenti Microsoft. E' per questo motivo che sto utilizzando la libreria CDO.
Ho provato ad riutilizzare la libreria CDONTS e questo è l'errore che mi si è ripresentato:
Codice: Seleziona tutto
Microsoft VBScript runtime  error '800a01ad'
ActiveX component can't create object: 'CDONTS.NewMail'
Fiorella Fortunato
- Il 99% dei problemi di un computer sta tra la sedia e la tastiera...
Avatar utente
fiorella.fortunato
Utente Junior
 
Post: 59
Iscritto il: 11/09/05 11:38

Postdi fiorella.fortunato » 14/10/07 13:11

Un'alternativa che ho provato e che è funzionante (con le sue limitazioni) sta nell'inserire al posto dell'immagine una tabella con celle impostate a 1x1 pixel colorati che simulano l'immagine stessa (le immagini vengono convertite da u'apposita routine in aspx). Ovviamente i messaggi sono corposi e impiegano una vita ad aprirsi. Outlook express tra l'altro spezza le righe oltre un tot di caratteri per cui a volte le tabelle che vengono visualizzate sono degli obrobri.
Fiorella Fortunato
- Il 99% dei problemi di un computer sta tra la sedia e la tastiera...
Avatar utente
fiorella.fortunato
Utente Junior
 
Post: 59
Iscritto il: 11/09/05 11:38

Re: [ASP] Embedded images nelle mail

Postdi jolly.poker » 25/12/07 12:27

Ecco un esempio:
Const CdoReferenceTypeName = 1
Set objCDOSYSMail = Server.CreateObject("CDO.Message")
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = <smtp del server>
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = <login>
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = <password>
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
'objCDOSYSCon.Fields(cdoSMTPAuthenticate) = cdoAnonymous
objCDOSYSCon.Fields.Update

Set objCDOSYSMail.Configuration = objCDOSYSCon

objCDOSYSMail.MimeFormatted = True
objCDOSYSMail.From = <mittente>
objCDOSYSMail.To = <destinatario>
objCDOSYSMail.Subject = <oggetto>
objCDOSYSMail.HTMLBody = "<html><img src=""cid:auguri.jpg""></html>"
Set objBP = objCDOSYSMail.AddRelatedBodyPart(Server.MapPath("auguri.jpg"), "auguri.jpg", CdoReferenceTypeName)
objBP.Fields.Item("urn:schemas:mailheader:Content-ID") = "<auguri.jpg>"
objBP.Fields.Update

objCDOSYSMail.Send
Set objCDOSYSMail = Nothing
Set objCDOSYSCon = Nothing

Spero di esserti stato di aiuto.
Ciao.
jolly.poker
Newbie
 
Post: 1
Iscritto il: 25/12/07 12:21

Re: [ASP] Embedded images nelle mail

Postdi fiorella.fortunato » 25/12/07 21:53

Il seguente codice modificato funziona... tranne ogni tentativo di inserire un TAG HTML all'interno di objCDOSYSMail.HTMLBody :cry:

Codice: Seleziona tutto
Const CdoReferenceTypeName = 1
Set objCDOSYSMail = Server.CreateObject("CDO.Message")
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
'objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
'objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = <login>
'objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = <password>
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
'objCDOSYSCon.Fields(cdoSMTPAuthenticate) = cdoAnonymous
objCDOSYSCon.Fields.Update

Set objCDOSYSMail.Configuration = objCDOSYSCon

objCDOSYSMail.MimeFormatted = True
objCDOSYSMail.From = "ControlloAccessi@osber.org"
objCDOSYSMail.To = Session("mail1")
objCDOSYSMail.Subject = "PROVA MESSAGGIO"
objCDOSYSMail.HTMLBody = "Messaggio di prova"

Set objBP = objCDOSYSMail.AddRelatedBodyPart(Server.MapPath("/hk.jpg"), "hk.jpg", CdoReferenceTypeName)
objBP.Fields.Item("urn:schemas:mailheader:Content-ID") = "<hk.jpg>"
objBP.Fields.Update

objCDOSYSMail.Send
Set objCDOSYSMail = Nothing
Set objCDOSYSCon = Nothing
Fiorella Fortunato
- Il 99% dei problemi di un computer sta tra la sedia e la tastiera...
Avatar utente
fiorella.fortunato
Utente Junior
 
Post: 59
Iscritto il: 11/09/05 11:38

Re: [ASP] Embedded images nelle mail

Postdi killthebrain » 21/11/08 11:14

jolly.poker ha scritto:Ecco un esempio:
Const CdoReferenceTypeName = 1
Set objCDOSYSMail = Server.CreateObject("CDO.Message")
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = <smtp del server>
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = <login>
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = <password>
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
'objCDOSYSCon.Fields(cdoSMTPAuthenticate) = cdoAnonymous
objCDOSYSCon.Fields.Update

Set objCDOSYSMail.Configuration = objCDOSYSCon

objCDOSYSMail.MimeFormatted = True
objCDOSYSMail.From = <mittente>
objCDOSYSMail.To = <destinatario>
objCDOSYSMail.Subject = <oggetto>
objCDOSYSMail.HTMLBody = "<html><img src=""cid:auguri.jpg""></html>"
Set objBP = objCDOSYSMail.AddRelatedBodyPart(Server.MapPath("auguri.jpg"), "auguri.jpg", CdoReferenceTypeName)
objBP.Fields.Item("urn:schemas:mailheader:Content-ID") = "<auguri.jpg>"
objBP.Fields.Update

objCDOSYSMail.Send
Set objCDOSYSMail = Nothing
Set objCDOSYSCon = Nothing

Spero di esserti stato di aiuto.
Ciao.



grazie a me è servito tantissimo!!
cmq x aggiungere altro testo io ho semplicemente fatto cosi':

Codice: Seleziona tutto
                testo = UploadRequest.Item("testo").Item("Value")
                testo = replace(testo,chr(13),"&nbsp;")
                testo = replace(testo,chr(10),"<br>")
               
                nomefileEMB = "auguri.jpg"
                objCDOSYSMail.HTMLBody = "<html><center><img src=""cid:" &nomefileEMB & """></center><o:p></o:p><br>" & testo & "</html>"
       
                percorso = server.mappath("\public\") & "\" & nomefileEMB
               
                Set objBP = objCDOSYSMail.AddRelatedBodyPart(percorso, nomefileEMB, CdoReferenceTypeName)
                objBP.Fields.Item("urn:schemas:mailheader:Content-ID") = "<" & nomefileEMB & ">" 
                objBP.Fields.Update
killthebrain
Newbie
 
Post: 1
Iscritto il: 21/11/08 11:09

Re: [ASP] Embedded images nelle mail

Postdi fiorella.fortunato » 07/12/08 10:27

Bene, finalmente ho risolto il problema.
Grazie Kill' !!! :)
Fiorella Fortunato
- Il 99% dei problemi di un computer sta tra la sedia e la tastiera...
Avatar utente
fiorella.fortunato
Utente Junior
 
Post: 59
Iscritto il: 11/09/05 11:38


Torna a Programmazione


Topic correlati a "[ASP] Embedded images nelle mail":


Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti