Отправить письмо пользователю об информации - PullRequest
0 голосов
/ 04 мая 2020

Есть ли библиотека, которая может быть реализована в C# Консольном приложении для отправки почты пользователю о какой-либо информации. В моем случае, это будет отправка почты пользователю или администратору при каждом добавлении нового в домен ActiveDirectory?

Ответы [ 2 ]

0 голосов
/ 04 мая 2020

Пример отправки почты с вложением с помощью MailKit . Подправил образец Mailkit для отправки сообщения и добавил код вложения.

using System;
using MailKit.Net.Smtp;
using MailKit;
using MimeKit;

class Program
{
    public static void Main (string[] args)
    {
        var message = new MimeMessage ();
        message.From.Add (new MailboxAddress ("Sender", "sender@example.com"));
        message.To.Add (new MailboxAddress ("Reciever", "reciever@example.com"));
        message.Subject = "Report";

        var builder = new BodyBuilder ();
        // Set the plain-text version of the message text
        builder.TextBody = @"Hi Reciever,

        Please find the attached report for your view.

        Sender
        ";

        builder.Attachments.Add (@"C:\Users\Sender\Documents\Report.pdf");
        message.Body = builder.ToMessageBody ();

        using (var client = new SmtpClient ()) {
            client.Connect ("smtp.example.com", 587, false);
            client.Authenticate ("sender", "password");
            client.Send (message);
            client.Disconnect (true);
        }
    }
}
0 голосов
/ 04 мая 2020

добавьте это к основной функции вашей консоли, и она сделает всю работу

    class Program
{
    static void Main(string[] args)
    {
            // make sure allow less secure apps on gmail https://myaccount.google.com/lesssecureapps
            SmtpClient mySmtpClient = new SmtpClient("smtp.gmail.com");

            // set smtp-client properties
            mySmtpClient.UseDefaultCredentials = false;
            System.Net.NetworkCredential basicAuthenticationInfo = new
            System.Net.NetworkCredential("yourusername@gmail.com", "YourGmailPassword");
            mySmtpClient.Credentials = basicAuthenticationInfo;
            mySmtpClient.EnableSsl = true;
            mySmtpClient.Port = 587;

            // add from,to mailaddresses
            MailAddress from = new MailAddress("yourusername@gmail.com", "IAMSender");
            MailAddress to = new MailAddress("receiver@mail.com", "IAMReceiver");
            MailMessage myMail = new System.Net.Mail.MailMessage(from, to);


            // set subject and encoding
            myMail.Subject = "Test message";
            myMail.SubjectEncoding = System.Text.Encoding.UTF8;

            // set body-message and encoding
            myMail.Body = "<b>Test Mail</b><br>using <b>HTML</b>.";
            myMail.BodyEncoding = System.Text.Encoding.UTF8;
            // text or html
            myMail.IsBodyHtml = true;

            mySmtpClient.Send(myMail);

        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...