Probleme envoi de mail .net

Signaler
Messages postés
939
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
-
Messages postés
1
Date d'inscription
mercredi 9 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2008
-
Salut à tous,
desolé de venir "pourrir" votre forum c#, mais comme vous êtes nombreux à utiliser le framework.net, j'espere pouvoir trouver une aide chez vous. (la lecture du code en vb ne devrait pas etre très compliqué pour des codeurs C)
j'ai un problème sous vb 2005 lors de l'evoi de mail, en effet, j'avais posté une methode d'envoi de mail sous vb.net (2002/2003) qui marchait très bien (par très bien j'entend je clique sur le bouton qui lance la procédure, et le mail est envoyé).

Etant passé à 2005, j'ai du adapter mon code au framework 2.0. (System.Mail etant maintenant obsolete)
Mon problème, maintenant, est que mes envois ne se finalisent que lorsque je quitte l'application, ce qui est plus que genant... je ne comprend vraiment pas pourquoi cela se produit.
Est ce une securité pour eviter le mass mailing, ou est ce que j'ai manqué qqc?
Je vous laisse ma procédure :

Public
Function sendmail(
ByVal Mfrom
As
String,
ByVal Mto
As
String,
ByVal Msubject
As
String,
ByVal Mbody
As
String,
ByVal Mcc
As
String,
ByVal smtpsrv
As
String,
ByVal ishtml
As
Boolean,
Optional
ByVal login
As
String =
"",
Optional
ByVal pass
As
String =
"",
Optional
ByVal attachedfile
As
String =
"")
As
String

Try

Dim DotNetMail
As
New MailMessage(
New MailAddress(Mfrom),
New MailAddress(Mto))

With DotNetMail.Subject = Msubject

'le sujet .Body = Mbody

'le corp du mail .IsBodyHtml = ishtml

If attachedfile <>
""
Then.Attachments.Add(

New Attachment(attachedfile))
'on ajoute les fichiers attachés defini dans le tableau attachedfiles()

End
If

End
With

Dim SmtpMail
As SmtpClient =
New Net.Mail.SmtpClient(smtpsrv)

If (login <>
""
And pass <>
"") Then SmtpMail.Credentials New System.Net.NetworkCredential(login, pass)SmtpMail.DeliveryMethod SmtpDeliveryMethod.Network

SmtpMail.SendAsync(DotNetMail,

"test")

'SmtpMail.Send(DotNetMail) 'on envoie le mail SmtpMail =

Nothing

' MsgBox("Mail envoyé avec succés")

' ReDim attachedfiles(0) 'on redefini le tableau à 0

Return
"Mail envoyé avec succés"

Catch err
As ExceptionMsgBox(

"Erreur: " + err.Message)
'affiche la description en cas d'erreur

Return
"Erreur lors de l'envoie du message : " & err.Message

End
Try

End
Function

J'espere enormement de votre aide,
meci d'avance

Hvb aka Batto
bato.ltd at gmail.com

7 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
Salut,

Essaie de vérifier que ce n'est pas ton antivirus qui produit cet effet là.

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
Salut, seulement avec SendAsync ou ça le fait aussi avec Send
Messages postés
939
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
2
merci bcp de vos reponses rapides, desolé de reprendre si tard.

coq : en effet j'ai cru que ça venait de l'antivirus (norton en l'occurence, ne me jettez pas de pierre, c'est au boulot) car il analyse les message avant envoi, mais le truc c'est que sur le meme environnement, mais en dotnet 1(.0/.1), cela passe tout de suite (l'analyse se fait, mais tout de suite apres l'éxecution de la procédure...)

Lutinore : Les deux, j'ai tenté SendAsync par depit, en esperant que cela fasse qqc... je l'ai laissé dans le code, mais à l'origine j'utilisais Send. 

Hvb aka Batto
bato.ltd at gmail.com
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
Essaie d'attendre un peu plus longtemps avant de fermer l'application, des fois que ce serait "juste" un délai causé par ce cher Norton.

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
939
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
2
arg, je viens de tapper un looong message que ie7 m'a tué après une erreur d'affichage de page...!
donc pour resumer, effectivement coq, tu as raison, cette methode marche sans problème chez moi ou il n'y a pas d'antivirus.
Je vais retester demain au boulot, en attendant plus longtemps, mais cela reste etonnant que le "problème" n'existe pas avec les framework précedents.
J'espere trouver une solution car je dois rendre ce projet demain soir, pour un client qui aura lui aussi norton.
Je vous tiendrais au courant.


Merci, car comme prévu on ne m'a pas repondu sur vbfrance ^^'

Hvb aka Batto
bato.ltd at gmail.com
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
Toujours c/c avant de poster, quelque soit le site, quelque soit le navigateur ^^

Je ne connais pas en détail le fonctionnement d'un moteur de détection d'AV, mais je me demande s'il ne s'agit pas d'une fausse alerte, ce qui serait quand même étonnant vu que l'envoi est "juste" différé, ou alors autre chose, comme la composition du message qui pousserait le proxy mail de Norton à attendre la fermeture de l'application (ou un timeout si ton test est concluant).
Peut être qu'il y a quelques infos dans les logs de l'AV ?
En tout cas j'espère pour toi que Norton permet au moins la définition d'exclusions d'analyse mail sortante par application.

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
1
Date d'inscription
mercredi 9 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2008

Hello,

J'ai le meme souci avec l'envoi de mail en .net et Symantec Antivirus au boulot. Il faut que je ferme mon application que l'envoi s'effectue.

Quelqu'un aurai des infos à ce sujet ?

Merci

Benoit