Développer un NetLogic pour l'envoi d'e-mails
Ce NetLogic envoie des e-mails à une adresse prédéfinie.
- Créer le NetLogic :
- DansVue de projet, cliquez avec le bouton droit de la souris surNetLogicet sélectionnez .
- Passez le curseur de la souris sur le NetLogic, sélectionnez et saisissezEmailSender.
- Double-cliquez sur NetLogic.L'éditeur de code externe s'ouvre.
- Dans l'éditeur de code, procédez comme suit :
- Remplacez le code existant par le code suivant :using System; using System.Net.Mail; using System.Net; using UAManagedCore; using FTOptix.NetLogic; public class EmailSender : BaseNetLogic { [ExportMethod] public void SendEmail(string replyToAddress, string mailSubject, string mailBody) { if (string.IsNullOrEmpty(replyToAddress) || mailSubject == null || mailBody == null) { Log.Error("EmailSender", "Invalid values for one or more parameters."); return; } var fromAddress = new MailAddress("mail@domain.com", "Name"); // Email Sender var toAddress = new MailAddress("mail@domain.com", "Name"); // Email Receiver // Password for SMTP server authentication if necessary const string fromPassword = "Insert your password here."; var smtpClient = new SmtpClient { // Fill the following lines with your SMTP server info Host = "smtp.domain.com", Port = 587, EnableSsl = true, // Set to true if the server requires SSL. DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(fromAddress.Address, fromPassword) }; var message = new MailMessage() { // Create the message. Subject = mailSubject, Body = mailBody }; // Specify the sender message.From = fromAddress; // Recipient emails // The MailMessage.To property is a collection of emails, so you can add different recipients using: // message.To.Add(new MailAddress(...)); message.To.Add(toAddress); // Add reply-to address message.ReplyToList.Add(replyToAddress); try { // Send email message smtpClient.Send(message); Log.Info("Message " + mailSubject + " sent successfully."); } catch (Exception ex) { // Insert here actions to be performed in case of an error when sending an email Log.Error("Error while sending message " + mailSubject + ", please try again. " + ex.Message); } } }CONSEIL: Dans l’exemple, l’e-mail saisi lors de l’exécution est ajouté à la propriétéReplyToList. Cette propriété contient une liste d'adresses qui seront automatiquement ajoutées en tant que destinataires en cas de réponse. La méthodeSenddeSmtpClientest encapsulée dans une construction try/catch permettant de gérer les exceptions possibles.
- Modifiez la valeur de la variablevar fromAddresspour refléter l'e-mail de l'expéditeur.
- Modifiez la valeur de la variablevar toAddresspour refléter l'e-mail du destinataire.CONSEIL: Dans cet exemple, l'e-mail est envoyé à un seul destinataire, mais vous pouvez ajouter davantage de destinataires en utilisant la propriétéTode la classeMailMessage. Consultez Propriété MailMessage.To (System.Net.Mail) | Microsoft DocsPar exemple :mailMessage.To.Add(new MailAddress(...)
- Le cas échéant, fournissez le mot de passe au compte de messagerie en modifiantconst string fromPassword = "Insert your password here.";IMPORTANT: Si vous utilisez une authentification à deux facteurs pour protéger votre compte de messagerie, vous devez générer un mot de passe pour l’application.
- Si nécessaire, dans la valeur de la variablevar smtpClient, configurez les données deCredentials.
- Enregistrez le code.
Fournir une réponse