Nous développons une application Windows .NET en C# pour une distribution commerciale.Envoi d'une pièce jointe en C# Application Windows
Objectif
Je veux ajouter une fonction pour permettre à l'utilisateur d'envoyer un fichier à un destinataire de courrier électronique dans l'application sans avoir besoin d'un client de messagerie sur leur PC, juste une connexion Internet. L'e-mail qu'ils envoient doit apparaître comme provenant d'eux (c'est-à-dire que leur adresse e-mail figure dans le champ FROM/REPLYTO) afin que le destinataire puisse identifier l'origine de l'e-mail et y répondre.
Approche actuelle
je comptais utiliser la classe MailMessage dans System.Net.Mail, mais il nécessite un serveur SMTP pour envoyer l'e-mail. Le problème avec cela est, je ne veux pas que l'utilisateur doive configurer n'importe quoi pour envoyer des emails de notre application - je veux le configurer par nous. En d'autres termes, je veux définir de quel serveur SMTP envoyer l'email et le coder en dur dans l'application.
J'ai essayé d'utiliser Gmail comme serveur SMTP, mais un inconvénient majeur: Gmail réécrit automatiquement la ligne "De" de tout courriel que vous envoyez via leur passerelle SMTP vers votre adresse Gmail, alors quand nous l'avons testé, même si dans le code MailMessage nous avons mis la propriété à [email protected] dE, quand le message a été reçu, le champ affiché [email protected]
questions
Si ce logiciel l'application va être distribuée à de nombreux utilisateurs dans différents environnement de réseau Cette méthode est-elle la meilleure à utiliser? Si oui, y a-t-il un serveur SMTP gratuit/public que je peux utiliser pour notre application afin de permettre à l'utilisateur final de définir les champs FROM et REPLYTO?
On m'a dit que tous les FAI/organisations n'autoriseraient pas les connexions SMTP arbitraires et/ou que l'expéditeur implémente un enregistrement SPF, le message pourrait être rejeté. Cela signifie-t-il que mon approche ne fonctionne pas toujours?
Y at-il une autre méthode commune ou plus stable que je pourrais utiliser pour atteindre mon objectif original?
Salut Conrad, merci pour votre réponse. Un service Web que vous suggérez serait-il plus stable et aurait moins de chance de se bloquer? Y a-t-il quelque chose que je devrais savoir dans le développement d'un tel webservice, par exemple, des blocs possibles? – user40432