Taille d'une pièce jointe avec MailMessage
Bonjour,
Voila j'envoie des mails via une application réalisée en VB.net. Mes mails fonctionne parfaitement. Maintenant je souhaite ajouter la possibilité d'ajouter une pièce joint au mail. Pour cela j'ai créer un objet de type "Attachment" qui contient mon fichier. Puis j'ajoute cet objet au Mail.
Voici le code de ma fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Public Shared Function EnvoyerHTML(ByVal Envoyeur As String, ByVal Destinataire As String, ByVal Objet As String, ByVal Texte As String, ByVal CheminFichier As String) As Boolean
Dim MonMail As MailMessage
Dim MaPasserelle As SmtpClient
Dim Fichier As Attachment
Fichier = New Attachment(CheminFichier)
Try
MonMail = New MailMessage
MonMail.From = New MailAddress(Envoyeur)
MonMail.To.Add(Destinataire)
MonMail.Subject = Objet
MonMail.Body = Texte
MonMail.IsBodyHtml = True
MonMail.Attachments.Add(Fichier)
MaPasserelle = New SmtpClient
MaPasserelle.Host = VG.PasserelleSmtp
MaPasserelle.Port = 25
MaPasserelle.Send(MonMail)
Return True
Catch ex As Exception
Return False
End Try
End Function |
Cela fonctionne lorsque les pièces jointes sont assez petites. Mais quand elle dépasse une certaine taille, (je ne sais pas encore laquelle précisement, environ 2Mo), quelques secondes après avoir envoyé le mail, il y a une fenêtre de Symantec qui aparait comme quoi le message n'a pas pu être envoyé car sa taille est trop importante (en anglais bien sur!)
Je voulais savoir d'une part, s'il est possible de connaitre la taille de notre mail avant de l'envoyer ?
J'ai essayé avec la propriété ContentDisposition.Size de la classe Attachment mais il me retourne -1 à chaque fois...
Et d'autre part s'il y a une limite dans la taille des message à envoyer, ou si on peut changer cette limite...
Merci d'avance !
PS : Le serveur SMTP que j'utilise accepte les pièces jointes jusqu'à 10Mo donc c'est pas lui qui bloque...