Comment envoyer un e-mail auquel le destinataire ne peut pas répondre

la programmation


Comme titre. Je développe un système capable d’envoyer des e-mails avec des pièces jointes aux membres. Je souhaite que les destinataires ne puissent pas répondre à l’e-mail reçu car l’adresse e-mail de l’expéditeur peut être virtuelle, comme certains e-mails contenant “cet e-mail est envoyé automatiquement par le système, veuillez ne pas répondre”.
Je souhaite créer cette fonction mais j’ai trouvé que c’était difficile sans composants tiers, et ceux-ci sont chers. J’ai essayé quelques exemples de codes, l’un d’eux ressemble à celui-ci :

C#
public string SendEMail(string From,string To,string Subject,string Content)
        {
            try
            {
                System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
                msg.To.Add(To);
                msg.From = new MailAddress(From, From, System.Text.Encoding.UTF8);

                msg.Subject = Subject; 
                msg.SubjectEncoding = System.Text.Encoding.UTF8; 
                msg.Body = Content; 
                msg.BodyEncoding = System.Text.Encoding.UTF8; 
                msg.IsBodyHtml = false; 
                msg.Priority = MailPriority.Normal;

                SmtpClient client = new SmtpClient();
                //client.Credentials = new System.Net.NetworkCredential(SenderAddress, SenderPassword);
                client.Host = "localhost";
                //client.EnableSsl = true;

                client.Send(msg);
                return string.Empty;
            }
            catch (Exception ex)
            {
                return "Exception:" + ex.Message + "Stacktrace:" + ex.StackTrace;
            }
        }

Mais j’ai eu le message “Échec de l’envoi d’un e-mail”. message d’exception lors de l’exécution de ce code. Comment pourrais-je l’obtenir ?

Solution 1

Vous avez quelques problèmes. Premièrement, vous n’avez aucun contrôle sur le serveur de messagerie que vous utilisez, sauf si vous en configurez un vous-même. Cela signifie que vous êtes à la merci des politiques configurées sur le serveur de messagerie que vous utilisez pour envoyer les e-mails. Non, sans un, on ne peut rien faire.

Cela signifie que si le propriétaire du serveur de messagerie déclare qu’il n’enverra ni ne transférera d’e-mail sans adresse d’expéditeur, vous devez en saisir une. Si le propriétaire dit que l’adresse e-mail DOIT correspondre au compte qui envoie l’e-mail, vous DEVEZ mettre votre adresse e-mail dans le champ de l’expéditeur.

Là où je travaille, il est impossible d’envoyer des e-mails sans que l’adresse de l’expéditeur soit renseignée. Il n’est pas nécessaire qu’il s’agisse d’un compte valide. Il suffit de le remplir.

Maintenant que vous avez transféré votre courrier électronique sur le serveur qui l’envoie, vous n’avez plus résolu ces problèmes. Certains serveurs ne délivreront même pas d’e-mail si l’expéditeur n’est pas renseigné. Donc laisser le champ vide peut ne pas fonctionner pour tous vos destinataires.

La meilleure méthode pour faire ce que vous voulez est simplement de créer une adresse e-mail (elle n’a généralement même pas besoin d’exister !) qui dit « noreply@yourdomain.com » ou quelque chose de similaire. Si l’utilisateur répond à l’e-mail, c’est son problème, pas le vôtre. Leur email ne sera pas livrable si le compte de messagerie n’existe pas. Dans le pire des cas, il restera dans la boîte de réception d’un compte que personne ne surveille et sera finalement supprimé par le serveur.

コメント

タイトルとURLをコピーしました