Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/11/2010, 16h45   #1
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Par défaut Envoi de mail avec pièce jointe en auto

Bonjour,

Je sais que c'est un sujet assez récurent et qu'on trouve pas mal d'informations sur le net à ce sujet.

Je souhaiterais pouvoir envoyer un mail avec pièce jointe automatiquement mais je ne comprends pas bien la différence entre les méthodes suivantes :

- En utilisant le composant Winsock
- En utilisant la méthode CDO

Sachant que cette fonction (l'envoi de mail) doit être possible même si Outlook n'est pas présent, je penchais sur la méthode Winsock afin que je puisse choisir le smtp du choix de l'utilisateur (sfr, gmail, hotmail orange etc...). Pour la méthode CDO, je ne comprends qu'elle smtp est utilisé sachant que ça à l'air de passer par Microsoft..??

Si quelqu'un peut m'éclairer....


Merci
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 17h10   #2
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
Par défaut re

bonjour

moi j'utilise la methode CDO je ne connais pas l'autre
effectivement elle marche sans que outlook soit installé
le stmp c'est celui du serveur de messagerie
dans ton code la ligne suivante
Code :
.Item(cdoSMTPServer) = "adresseServeurSMTP"
c.a.d. pour orange
Code :
.Item(cdoSMTPServer) = "smtp.orange.fr"
methode testée et approuvée

bien cordialement
ahmad
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 17h31   #3
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Ok donc imaginons quelqu'un qui est sous l'operateur sfr (je ne fais pas de pub promis ) et que dans le code, il y a smtp.orange.fr, le mail sera envoyé quand même par le smtp orange ?


Merci
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 17h53   #4
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
bonsoir

j'ai dis pour orange smtp.orange.fr

pour sfr c'est smtp.sfr.fr

chaque operateur à son smtp

cordialement

ahmad

[Edit]
re

en fait il existe une liste sur internet

tapes dans un moteur de recherche :

Adresses des serveurs POP et SMTP des principaux FAI
tu auras la liste complete

ah j'oubliais c'est ton serveur de messagerie qui compte
ahmad
[/Edit]
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 18h01   #5
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Oui merci en fait c'est pas le nom du serveur smtp qui me bloque mais c'est de savoir si par exemple : en ayant le FAI Sfr comme abonnement, on peut envoyer un mail par le biais du smtp orange....Je pense que oui mais c'est pour être sur...
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 18h09   #6
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
re

j'ai un compte orange mais je n'ai pas reussi à utiliser une autre adresse
smtp sfr ou autre !!!

je suis preneur du code si t'y arrive

ahmad
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 20h01   #7
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Pour l'instant ça fonctionne pas...j'ai essayé ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
 
Private Sub Commande20_Click()
 
Dim config As CDO.Configuration
Dim email As CDO.Message
Set config = New CDO.Configuration
With config.Fields
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = CDO.cdoSendUsingPort
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.orange.fr"
 
'Type of authentication, NONE, Basic (Base64 encoded), NTLM
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
'
'Your UserID on the SMTP server
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "monadresse@wanadoo.fr"
'
'Your password on the SMTP server
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "motdepassecompteorange"
'
'Server port (typically 25)
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
'
'Use SSL for the connection (False or True)
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
'
'Connection Timeout in seconds (the maximum time CDO will try to establish a connection to the SMTP server)
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 90
 
    .Update
End With
 
Set email = New CDO.Message
With email
    Set .Configuration = config
    .From = "monadresse@wanadoo.fr"
    .To = "monadresse@sfr.fr"
    .Subject = "Sujet test mail"
    .HTMLBody = "Blabla"
    .AddAttachment ("f:\mail.txt")
    .Send
 
End With
 
 
End Sub
Voilà. Pour résumer ma situation. Je suis chez sfr donc je passe par la neufbox. J'ai également un compte de messagerie orange et je souhaite passer par le smtp de orange pour envoyer mes mails d'ou cette config ci-dessus...mais ça me donne un message d'erreur "missing authentification". De mémoire le port smtp chez orange est bien 25. Si j'essais en remplaçant le serveur smtp orange par celui de sfr, le test est concluant...à voir si c'est possible...
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 20h28   #8
Membre actif
 
Homme David
Inscription : septembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme David
Localisation : France

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : septembre 2007
Messages : 353
Points : 195
Points : 195
Bonsoir

Cela me semble logique que ton test marche avec smtp.sfr si tu as une neuf box

Mon cas perso : j'ai une freebox, et mon client mail est pamamétré en smtp sur free.fr alors que j'ai un compte la poste!!
ce n'est pas propre à CDO

Chez un particulier ton serveur de messagerie c'est ta box, dans une entreprise c'est l'adresse IP du serveur (si le système informatique est organisé comme cela évidemment)

De plus, tu peux n'importe quoi comme adresse mail dans l'expéditeur, à partir du moment où c'est du type toto@titi.com!! (principe des mailing avec noreply@truc.com)
damalaan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 20h41   #9
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Oui moi aussi ça me parait logique avec sfr mais ma question est : Est-il possible d'envoyer un mail par le biais du smtp d'orange si on est chez sfr par exemple ?

Visiblement c'est possible d'envoyer par le biais du smtp gmail etc...pourquoi pas orange ?
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 20h47   #10
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
bonsoir
voila le code que j'utilise et qui marche correctement
un peu moins compliqué peut etre!

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Function SendMailCDO(Sender As String, Receiver As String, _
    Subject As String, BodyText As String, Attachment As String, _
    Optional Cc As String, Optional Bcc As String)
' Fonction d'envoi de mail avec pièce jointe
 
    Dim Cdo_Message As New CDO.Message
    Set Cdo_Message.Configuration = GetSMTPServerConfig()
 
    With Cdo_Message
    .To = Receiver
    .From = Sender
    .Subject = Subject
    .Cc = Cc
    .Bcc = Bcc
    .TextBody = BodyText
    .AddAttachment (Attachment)
    .Send
    End With
 
    Set Cdo_Message = Nothing
End Function
Code :
Function GetSMTPServerConfig() As Object
' Récupère les informations du serveur de messagerie
    Dim Cdo_Config As New CDO.Configuration
    Dim Cdo_Fields As Object
    Set Cdo_Fields = Cdo_Config.Fields
 
    With Cdo_Fields
    .Item(cdoSendUsingMethod) = cdoSendUsingPort
    .Item(cdoSMTPServer) = "smtp.orange.fr"
    .Item(cdoSMTPServerPort) = 25
    .Update
    End With
 
    Set GetSMTPServerConfig = Cdo_Config
    Set Cdo_Config = Nothing
    Set Cdo_Fields = Nothing
End Function
cordialement
ahmad
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 21h04   #11
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Ok mais si tu mets à la place de smtp.orange.fr ==> smtp.free.fr par exemple, est ce que cela fonctionne ? (a condition que ton FAI soit orange)
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h17.


 
 
 
 
Partenaires

Hébergement Web