[ASP 3.0] Envoi de mail + Mail format HTML

Envoi de mail + Mail format HTML [ASP 3.0] - ASP - Programmation

Marsh Posté le 03-05-2004 à 11:26:10    

Code :
  1. mail_ot = "ot.toto@toto.fr"
  2. nom_ot = "Office de Téléphonique de toto"
  3. function envoiMailOT(nomD,adrD,sujet,txt)
  4.    dim SMTP
  5.    Set SMTP = Server.CreateObject("SMTPsvg.Mailer" )
  6.  
  7.    SMTP.RemoteHost = "mail.toto.fr" ' le serveur
  8.  
  9.    'l'émetteur
  10.    SMTP.FromName = nom_ot
  11.    SMTP.FromAddress = mail_ot 
  12.  
  13.    ' le destinataire
  14.    SMTP.Addrecipient nomD, adrD
  15.  
  16.    SMTP.Subject = sujet ' le sujet du mail
  17.    SMTP.BodyText = txt ' le texte du mail
  18.  
  19.    envoiMailOT = SMTP.SendMail 'false si erreur dans l'envoi
  20. end function


 
Voici mon script pour envoyer des mails....
Probleme "SMTPsvg.Mailer" n'est pas reconnue...

Code :
  1. Objet Server error 'ASP 0177 : 800401f3'
  2. Échec de Server.CreateObject
  3. /toto/_mail.asp, line 6
  4. Chaîne de classe incorrecte


 
Est ce que je me trompe quelque part ?
 
Merci


Message édité par !cricri le 17-05-2004 à 08:40:20
Reply

Marsh Posté le 03-05-2004 à 11:26:10   

Reply

Marsh Posté le 03-05-2004 à 14:40:00    

Code :
  1. dim SMTP
  2. set SMTP = CreateObject("CDO.Message" )
  3. SMTP.From = mail_ot
  4. SMTP.To = adrD
  5. SMTP.Subject = sujet
  6. SMTP.TextBody = txt
  7. Dim Conf
  8. Conf = SMTP.Configuration
  9.     Conf.item("http://schemas.microsoft.com/cdo/configuration/sendusing" ) =
  10. Conf.item("http://schemas.microsoft.com/cdo/configuration/smtpserver" ) = "mail.toto.fr"
  11. Conf.Update()
  12.  
  13. SMTP.Send


 
sinon j'ai, essayé ca aussi mais :

Code :
  1. Erreur d'exécution Microsoft VBScript error '800a000d'
  2. Type incompatible: 'SMTP.to'


 
Quelqu'un s'y connait ??? [:atog]

Reply

Marsh Posté le 03-05-2004 à 16:24:59    

Déja pour SMTP mailer il faut que le composant ASPMail soit installé sur ta machine et le composant est payant  :D  
 
Pour Cdont c'est pas sécurisé du tout donc c'est moyen, par contre c'est facile à mettre en oeuvre, il faut que tu installe la DLL CDONT cherche là  
Chez Microsoft  [:airforceone]
 
pour CDONT :
 

Code :
  1. <% Dim Mailer
  2. Set Mailer = Server.CreateObject("CDONTS.NewMail" )
  3. ' on crée l'objet CDONTS
  4. Mailer.To = "destinataire@email.com"
  5. ' email du destinataire
  6. Mailer.From = "expediteur@email.com"
  7. ' email de l'expediteur
  8. Mailer.Subject = "Titre du message"
  9. ' titre du message
  10. Mailer.Body = "Le texte qui sera envoyé"
  11. ' corps du message
  12. Mailer.Send
  13. ' on envoie le tout
  14. %>


 
Pour ASPMail :
 

Code :
  1. Set Mailer = Server.CreateObject("SMTPsvg.Mailer" )
  2. Mailer.FromName = "Webmaster"
  3. Mailer.FromAddress= "webmaster@toto.com"
  4. Mailer.RemoteHost= "mail.toto.com" Mailer.AddRecipient "John", "john@autrenomdeserveur.com"
  5. Mailer.Subject= "Test d'email!"
  6. Mailer.BodyText = "Cher John" & VbCrLf & "il s'agit d'un test d'envoi d'email!"
  7. if Mailer.SendMail then Response.Write "Email envoyé..."
  8. else
  9. Response.Write "Erreur d'envoi d'email. L'erreur était " &Mailer.Response
  10. end if


Message édité par Flyman30 le 03-05-2004 à 16:35:24
Reply

Marsh Posté le 03-05-2004 à 16:38:26    

Ensuite il te faut un serveur SMTP , je te conseile MailEnable qui existe en gratuit.  ;)  
Pour les tests en local (mes amis n'ont pas apprécié de reçevoir mes tests  
 :ange: ) il faut modifier le fichier lmhost pour lui indiquer que le serveur SMTP pointe sur ton IP locale.  
 
Yapuka  :)

Reply

Marsh Posté le 06-05-2004 à 12:00:06    

Merci
finalement ca marche !
Je fais ca comme ca:

Code :
  1. mail_ot = "toto@toto.fr"
  2. nom_ot = "toto"
  3. function envoiMailOT(adrD,sujet,txt)
  4. dim SMTP
  5. set SMTP = CreateObject("CDO.Message" )
  6. SMTP.From = mail_ot
  7.     SMTP.To = adrD
  8.     SMTP.Subject = sujet
  9. SMTP.TextBody = txt
  10. Dim Conf
  11.     Conf = SMTP.Configuration
  12.     Conf.item("http://schemas.microsoft.com/cdo/configuration/sendusing" ) = 2
  13.     Conf.item("http://schemas.microsoft.com/cdo/configuration/smtpserver" ) = "192.168.10.148" 'serveur linux =)
  14.     Conf.Update()
  15.  
  16. SMTP.Send
  17. end function


 
Voila.. c'etait un histoire de droit (comme souvent)
merci encore

Reply

Marsh Posté le 06-05-2004 à 12:58:50    

3xc4l18ur a écrit :

Merci
finalement ca marche !
Je fais ca comme ca:

Code :
  1. mail_ot = "toto@toto.fr"
  2. nom_ot = "toto"
  3. function envoiMailOT(adrD,sujet,txt)
  4. dim SMTP
  5. set SMTP = CreateObject("CDO.Message" )
  6. SMTP.From = mail_ot
  7.     SMTP.To = adrD
  8.     SMTP.Subject = sujet
  9. SMTP.TextBody = txt
  10. Dim Conf
  11.     Conf = SMTP.Configuration
  12.     Conf.item("http://schemas.microsoft.com/cdo/configuration/sendusing" ) = 2
  13.     Conf.item("http://schemas.microsoft.com/cdo/configuration/smtpserver" ) = "192.168.10.148" 'serveur linux =)
  14.     Conf.Update()
  15.  
  16. SMTP.Send
  17. end function


 
Voila.. c'etait un histoire de droit (comme souvent)
merci encore


 
Je t'avais dit de ne pas utiliser CDONT  :D c'est une faille de sécurité  
..

Reply

Marsh Posté le 06-05-2004 à 14:02:48    

oki je note... (tête en l'air)
D'ailleur a titre purement info j'ai repère a droite a gauche 5 facons de mailer, les voicis:

Code :
  1. function envoiMailOT(adrD,sujet,txt)
  2. dim SMTP
  3. set SMTP = CreateObject("CDO.Message" )
  4. SMTP.From = mail_ot
  5.     SMTP.To = adrD
  6.     SMTP.Subject = sujet
  7. SMTP.TextBody = txt
  8. Dim Conf
  9.     Conf = SMTP.Configuration
  10.     Conf.item("http://schemas.microsoft.com/cdo/configuration/sendusing" ) = 2
  11.     Conf.item("http://schemas.microsoft.com/cdo/configuration/smtpserver" ) = "192.168.10.148" 'serveur linux =)
  12.     Conf.Update()
  13.  
  14. SMTP.Send
  15. end function
  16. 'function envoiMailOT1(nomD,adrD,sujet,txt)
  17. '   dim SMTP
  18. '   Set SMTP = Server.CreateObject("SMTPsvg.Mailer" )
  19. '   SMTP.RemoteHost = "192.168.10.148" ' le serveur
  20. '   'l'émetteur
  21. '   SMTP.FromName = nom_ot
  22. '   SMTP.FromAddress = mail_ot 
  23. '   ' le destinataire
  24. '   SMTP.Addrecipient nomD, adrD
  25. '   SMTP.Subject = sujet ' le sujet du mail
  26. '   SMTP.BodyText = txt ' le texte du mail
  27. '   envoiMailOT1 = SMTP.SendMail 'false si erreur dans l'envoi
  28. 'end function
  29. 'function envoiMailOT2(adrD,sujet,txt)
  30. ' Dim MAIL
  31. ' set MAIL = CreateObject("Mail.MailMessage" )
  32. ' MAIL.From = ot_mail
  33. ' MAIL.To = adrD
  34. ' MAIL.Subject = suet
  35. ' MAIL.BodyFormat = Mail.MailFormat.Html
  36. ' MAIL.Body = txt
  37. ' Dim SMTP
  38. ' SMTP = System.Web.Mail.SmtpMail
  39. ' SMTP.SmtpServer = "192.168.10.148"
  40. ' SMTP.Send(MAIL)
  41. 'end function
  42. 'function envoiMailOT3(adrD,sujet,txt)
  43. ' dim MyMail
  44. ' Set myMail = CreateObject ("CDOMail.clsSendMail" )
  45. '    myMail.Server = "192.168.10.148"
  46. '    myMail.Mailbox = ot_mail
  47. '    myMail.Recipient = adrD
  48. '    myMail.Subject = sujet
  49. '    myMail.Text= txt
  50. '    myMail.Send
  51. '    set myMail = Nothing
  52.    
  53. 'end function
  54. 'function envoiMailOT4(adrD,sujet,txt)
  55. '  Dim Mailer
  56. '  Set Mailer = Server.CreateObject("CDONTS.NewMail" ) 
  57. '  Mailer.To = adrD
  58. '  Mailer.From = ot_mail
  59. '  Mailer.Subject = sujet
  60. '  Mailer.Body = txt
  61. ' Dim Conf
  62. '    Conf = SMTP.Configuration
  63. '    Conf.item("http://schemas.microsoft.com/cdo/configuration/sendusing" ) = 2
  64. '    Conf.item("http://schemas.microsoft.com/cdo/configuration/smtpserver" ) = "192.168.10.148" 'serveur linux =)
  65. '    Conf.Update()
  66. '  Mailer.Send
  67. '
  68. 'end function

Reply

Marsh Posté le 17-05-2004 à 08:43:05    

Nouvelle question...
Comment je fais pour pour que mon mail soit interprété comme une page HTML et que je puisse y mettre un tableau ou des images par exemple ?
 
J'ai essayé de mettre des balise du <Html>, <body> et même <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"> dans le corps du truc ... mais rien! Je recoi le code

Reply

Marsh Posté le 17-05-2004 à 11:15:42    

3xc4l18ur a écrit :

Nouvelle question...
Comment je fais pour pour que mon mail soit interprété comme une page HTML et que je puisse y mettre un tableau ou des images par exemple ?
 
J'ai essayé de mettre des balise du <Html>, <body> et même <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"> dans le corps du truc ... mais rien! Je recoi le code


 
Il y a des balise pour dire au programme que le mail est au format HTML, elles sont spécifique a la DLL employée (ASPEmail, ASPMail, etc...) tu trouvera ton bonheur sur le site de l'éditeur concerné  :)

Reply

Marsh Posté le 17-05-2004 à 13:53:38    

Exact!
C'était tout bête, il suffisait d'utiliser le .HTMLBody au lieu du .TextBody
 
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed