Envoyer eml fichiers enregistrés sur le disque
Je suis de la création d'eml et les enregistrer dans un répertoire à l'aide de la procédure mentionnée plus ici.
Je veux savoir comment faire pour envoyer ces fichiers eml?
J'ai essayé d'utiliser à la classe SMTPClient de l'objet, mais il faut MailMessage objet comme paramètre et je ne pouvais pas trouver et de créer un objet de type MailMessage à l'aide de ces fichiers eml sauvegardés.
OriginalL'auteur UJ. | 2009-08-20
Vous devez vous connecter pour publier un commentaire.
Chargement d'un fichier EML correctement n'est pas aussi facile qu'il y paraît. Vous pouvez écrire un travail de mise en œuvre dans 95% des cas à l'intérieur de quelques jours. 5% restants faudrait au moins plusieurs mois ;-). Je sais, becase je impliqués dans le développement de l'un.
Envisager la suite de dificulities:
Maturation de cette analyseur prend des années et continue de retours de ses utilisateurs. Droit maintenant, c'est pas un tel analyseur inclus dans le .NET Framework. Jusqu'à ce que ça change, je voudrais sugest l'obtention d'une tierce partie analyseur MIME à partir d'un fournisseur.
Code suivant utilise notre Rebex Courrier Sécurisé composant, mais je suis sûr que la tâche similaire pourrait être reproduit facilement avec des composants d'autres fournisseurs ainsi.
Le code est basé sur Message de courrier tutoriel.
Le code fonctionne très bien. Il utilise Rebex.Mail.MailMessage classe qui a de la méthode de Chargement depuis la version 1.0. Il est mentionné dans le post juste au-dessus du code. Peut-être vous voulez dire que le Système.Net.Mail.MailMessage a pas de méthode de Chargement? Je sais que c'est la raison exacte pour laquelle ma réponse utilise une classe différente.
OriginalL'auteur Martin Vobr
Utilisation EMLReader de récupérer des données .fichier eml. Il contient toutes les données dont vous avez besoin pour créer un MailMessage objet comme De, À, Objet, Corps & un ensemble beaucoup plus.
Oui, je sais. Était juste essayer d'aider quelqu'un d'autre (comme moi) qui vient à travers cette lorsque vous essayez de trouver une solution au même problème. Voir aussi liés à la question: stackoverflow.com/questions/936422/...
OriginalL'auteur HuBeZa
Faire Ce que j'ai fait ... abandonner.
La construction de l'objet MailMessage semble être le focus j'en ai un similaire questions en suspens ici aussi ...
Comment puis-je envoyer un e-mail quand j'ai déjà comme une chaîne de caractères?
De ce que j'ai vu la façon la plus simple pour ce faire est d'utiliser une socket raw dump l'ensemble .eml fichier de contenu vers le haut vers le serveur de messagerie tel qu'il est et de laisser le serveur de messagerie de comprendre le truc dur comme de la, le sujet, ect par l'analyse de l'e-mail à l'aide de son moteur.
Le seul problème ... la RFC 821 ... une douleur, j'essaie de trouver un moyen propre de faire cela et de lire le courrier déjà dans la boîte aux lettres trop rapidement.
EDIT:
J'ai trouvé une solution propre et couvert dans mon thread 🙂
Comment puis-je envoyer un e-mail quand j'ai déjà comme une chaîne de caractères?
OriginalL'auteur War
Si vous êtes une boutique Microsoft et de disposer d'un serveur Exchange de toute façon, il y a une autre solution qui est beaucoup, beaucoup plus facile que de tout le reste suggéré ici:
Chaque serveur Exchange dispose d'un répertoire de collecte configurés de la zone.
Par défaut, c'est
%ExchangeInstallPath%TransportRoles\Pickup
.Vous suffit de copier le
.eml
les fichiers de ce répertoire, et Change automatiquement d'envoyer les mails.Lire cet article TechNet pour plus d'informations:
Répertoire de collecte et de Relecture du répertoire
OriginalL'auteur Christian Specht
Pour les enregistrements:
Nuget Emballeur Console écrire:
Puis dans votre Code:
OriginalL'auteur mmaty
Comme d'autres l'ont démontré, EML est tout simplement pas une bonne façon de
serialize
un message électronique. Vous pourriez être mieux par la sauvegarde de vos e-mails dans un autre format. Bien qu'il existe plusieurs moteurs de sérialisation dans le .Net framework pour sérialiser un objet, vous pouvez aussi envisager de gagner les composants de vos courriers, comme les adresses, le corps, les fichiers attachés en base64, dans un fichier Xml de votre propre conception.Ci-dessous est un exemple pour vous aider à démarrer:
Avantage serait que, contrairement à la création d'EML, vous n'avez pas besoin de la smtpClient pour construire le concept des fichiers courrier.
Xml est extrêmement facile de créer et d'analyser en C#.
Vous n'avez pas dit la raison d'être de sauver EML. Si à long terme des archives serait un objectif, xml peut avoir un avantage.
OriginalL'auteur Roland
Vous pouvez le faire avec Windows Server intégré dans le serveur SMTP de la même façon que dans la réponse précédente à l'aide d'Exchange.
Chute de l' .eml fichier
C:\inetpub\mailroot\Pickup
et les matieres message sera envoyé (local ou distant).Vous pouvez transférer des messages en insérant simplement une ligne dans le top:
Vous pouvez manipuler le courrier à en-tête de plus loin si vous avez besoin d'.
OriginalL'auteur spludlow