Mail

poitierjohan Messages postés 50 Date d'inscription samedi 25 septembre 2004 Statut Membre Dernière intervention 14 juillet 2008 - 6 janv. 2006 à 00:46
borntoclimb Messages postés 98 Date d'inscription vendredi 4 janvier 2002 Statut Membre Dernière intervention 7 mars 2006 - 19 janv. 2006 à 14:43
Bonsoir,
Je voudrais faire en sorte que mon programme envoye automatiquement un mail...
Jusque là, pas de problème...
Maintenant, je voudrais que ce mail soit envoyé comme si je l'envoyais à partir du site en question (ex. hotmail pour une adresse [mailto:xxx@hotmail.com xxx@hotmail.com] comme expéditeur).
C'est-à-dire, l'envoyer à partir de mon programme SANS que l'envoi du mail passe par un programme comme Outlook, IncrediMail, ...
Est-ce possible?
Merci...

7 réponses

borntoclimb Messages postés 98 Date d'inscription vendredi 4 janvier 2002 Statut Membre Dernière intervention 7 mars 2006 4
6 janv. 2006 à 10:03
Oui c'est possible et assez facile. Il faut utiliser les composants CDO que tu reference dans ton projet (Microsoft CDO for Windows 2000 library).
Ensuite:

'---------------------------------------------------------------------------------------
' Procedure : SendEmail
' DateTime : 25/02/2005 11:33
' Author : Mlavedrine
' Purpose : Function that builds a CDO message and sends it
'---------------------------------------------------------------------------------------
'
Private Function SendEmail(sTo As String, sFrom As String, sSender As String, sSubject As String, strCCEmailAddress As String, _
strBCCEmailAddress As String, Optional SMTP_SERVER As String) As Boolean


Dim CdoMailConfiguration As CDO.Configuration
Dim CdoMailMessage As CDO.Message
Dim CdoMailFields
Dim strHTMLBody As String
Dim strTextBody As String


On Error GoTo Err_SendEmail


' Create a new CDO message.
Set CdoMailMessage = New CDO.Message

'--------------------------------------------------------------------------------------------------------
'---------- When the following is not set it just uses the local CDO component, No SMTP required-----
' Create a new Configuration object.
' Set CdoMailConfiguration = New CDO.Configuration
' Get a reference to the Configuration object's Fields collection
' Set CdoMailFields = CdoMailConfiguration.Fields
' Set the Configuration object's properties through the Fields collection.
'
' With CdoMailFields
' .Item(cdoSMTPServer) = SMTP_SERVER
' .Item(cdoSendUsingMethod) = cdoSendUsingPort
' .Item(cdoSMTPServerPort) = 25
' .Item(cdoSMTPAuthenticate) = cdoAnonymous ' 0
' .Update ' Apply the above settings
' End With
'
' Set the message's configuration.
' Set CdoMailMessage.Configuration = CdoMailConfiguration
'--------------------------------------------------------------------------------------------------------


' Assign the HTML Body Of the message
' strTempHTTPFilePath is the path of the HTML file containing the body of the document.
' The advantage of doing it that way is that it automatically embed images in the message
CdoMailMessage.CreateMHTMLBody strTempHTTPFilePath
' Set the subject
CdoMailMessage.Subject = sSubject
' Set a default Text. Not necessary as already defaulted to the text of HTMLbody
' CdoMailMessage.TextBody = strTextBody


' CdoMailMessage.Sender = sSender
' The message can actually be sent as anyone
CdoMailMessage.From = sFrom
CdoMailMessage.To = sTo
CdoMailMessage.CC = strCCEmailAddress
CdoMailMessage.BCC = strBCCEmailAddress

' strAttachmentPath is the path of the Attachement
Call CdoMailMessage.AddAttachment(strAttachmentPath)

' Send the message.
CdoMailMessage.Send



Exit_SendEmail:
'Clear up
Set CdoMailMessage = Nothing
Set CdoMailConfiguration = Nothing
Set CdoMailFields = Nothing
SendEmail = True
Exit Function


Err_SendEmail:
SendEmail = False
strErrMessage = strErrMessage + "Error in function SendMail:" + Err.Description + vbCrLf
GoTo Exit_SendEmail
End Function


'------------------------------------------------------


Et voila. Tu peux metter l'addresse source que tu veux mais ne penses pas que ce soit completement anonyme, ton IP, le nom de ta machine et de ton reseau son dans le "header" du message. Juste histoire qu'il ne te viennes pas á l'idée de spammer á outrance ;-) Donc á utiliser avec parcimonie!
Pour une personne utilisant juste Outlook et recevant l'email, c'est transparrant.

Borntoclimb

---No pasa nada...
0
thetoto52 Messages postés 87 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 11 novembre 2008
11 janv. 2006 à 15:42
tu fait comment pour définir CDO.Configuration
moi il me met une ereur. Merci de ton aide
0
borntoclimb Messages postés 98 Date d'inscription vendredi 4 janvier 2002 Statut Membre Dernière intervention 7 mars 2006 4
12 janv. 2006 à 14:53
T'as essayé ca:
Set CdoMailConfiguration = New CDO.Configuration

En fait en general le code marche sans la partie config que j'ai mise en commentaire. Sur quelle ligne á tu une erreur? Quelle est l'erreur?
Tu peux poster ton code, j'y jetterai un coup d'oeil.

Borntoclimb

---No pasa nada...
0
thetoto52 Messages postés 87 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 11 novembre 2008
12 janv. 2006 à 15:39
j'ai :
erreur de compilation type défini par l'utilisateur non défini
sur la ligne : Dim CdoMailConfiguration As CDO.Configuration
Au début.
Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
borntoclimb Messages postés 98 Date d'inscription vendredi 4 janvier 2002 Statut Membre Dernière intervention 7 mars 2006 4
13 janv. 2006 à 15:08
C'est parcequ'il te manque la reference á l'objet CDO. Il faut que tu references (Microsoft CDO for Windows 2000 library) depuis le menu Project/Reference.
A+

Borntoclimb

---No pasa nada...
0
thetoto52 Messages postés 87 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 11 novembre 2008
17 janv. 2006 à 15:14
je n'ai pas trouvé Microsoft CDO for Windows 2000 library a cocher ou tu ma dit d'aller.

merci quand meme
0
borntoclimb Messages postés 98 Date d'inscription vendredi 4 janvier 2002 Statut Membre Dernière intervention 7 mars 2006 4
19 janv. 2006 à 14:43
Normalement le composant est la par defaut sous Windows 2000 et XP.
Si tu ne l'as pas, je crois qu'il est aussi installé avec Outlook 2000 (tu peux desinstaller Outlook apres normalement ca le laisse sur la machine).

Si je me souviens bien, la DLL s'appelle cdo.dll

Borntoclimb

---No pasa nada...
0
Rejoignez-nous