IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[C#] envoyer un mail avec une piece jointe


Sujet :

C#

  1. #1
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 36
    Points : 40
    Points
    40
    Par défaut [C#] envoyer un mail avec une piece jointe
    Bonjour,

    j'essaye actuellement d'envoyer un mail avec une piece jointe.
    Je créé un fichier, que je joint à mail.
    Je voulais savoir s'il etait possible de ne pas créer de fichier physique sur le poste où est lancé l'application?
    D'autre part, le fichier que je créé à partir d'un string, est incomplet, je ne sais pas pourquoi, il manque à chaque fois la fin quelque soit la longueur du string. Est ce qu'il faut parametrer une longueur de fichier ou ne pas utiliser un string trop long avec la methode WRITE?

    Voici le code que j'utilise

    [code]
    string path = FileInputInterface.Instance.TempRep + "Tests.html";
    FileStream file = new FileStream(path, FileMode.Create);
    StreamWriter sw = new StreamWriter(file);
    // contenu = string contenant le code html du fichier à joindre au mail
    sw.Write(contenu);
    file.Close();
    [code]

    quelqu'un a t-il une idée?

    Merci.

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Essaye cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    string path = FileInputInterface.Instance.TempRep + "Tests.html";
    FileStream file = new FileStream(path, FileMode.Create);
    StreamWriter sw = new StreamWriter(file);
    // contenu = string contenant le code html du fichier à joindre au mail
    sw.Write(contenu);
    sw.Flush(); //Vide le buffer et force la copie.
    sw.Close();//Ferme le buffer.
    file.Close();


    Je voulais savoir s'il etait possible de ne pas créer de fichier physique sur le poste où est lancé l'application?
    Vu qu'une pièce jointe représente un fichier à envoyer, je ne vois pas comment tu peux attaché un fichier sans que celui-ci existe.
    Tu peux toujours mettre le contenu dans le corp du mail si tu preferes.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    tu peux joindre un contenu a un mail, ce contenu peut etre en mémoire... ca n'estpas important, tout dépend juste de l'extension et des types mime.

    J'ai un service de mailing, je génere la piece jointe en mémoire, j'associe un flux dessus puis je le fourni comme pièce jointe à mon objet mail.

    Il n'y a pas de fichier créé sur le poste où est exécuté le code pourtant j'ai joint une pièce jointe qui s'avère etre un fichier. Seul problème avec cette méthode, il n'est pas possible de définir le nom du fchier dans la pièce jointe... qui prendra alors un nom aléatoire.

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Tu utilises un FileStream ou n'importe quel stream ?

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    N'importe quel stream... Il demande un Stream en entrée pas un FileStream qui au passage n'est qu'une implantation rigoureuse de Stream...

  6. #6
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 36
    Points : 40
    Points
    40
    Par défaut
    Merci à tous pour votre aide en ajoutant le sw.flush() ça marche mieux.

    Sinon pour la pièce jointe, je prefere pouvoir choisir le nom du fichier donc je vais quand meme créer un fichier temporaire mais je veux bien un exemple de code pour comprendre comment ça marche.

Discussions similaires

  1. Envoyer un mail avec une pièce jointe en VBS
    Par nicosmash dans le forum Vos Contributions VBScript
    Réponses: 3
    Dernier message: 24/06/2014, 09h32
  2. Impossible de lire un mail avec une piece jointe
    Par fafadu31520 dans le forum Thunderbird
    Réponses: 1
    Dernier message: 26/02/2011, 09h49
  3. Envoyer un e-mail avec une pièce jointe
    Par KDZCrew dans le forum Langage
    Réponses: 1
    Dernier message: 10/11/2010, 15h56
  4. Réponses: 1
    Dernier message: 21/07/2006, 16h03
  5. [ASP 3] Envoyer un Mail avec une piece jointe générer
    Par soltani.slim dans le forum ASP
    Réponses: 4
    Dernier message: 15/02/2006, 10h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo