netcore

پلتفرم .Net

(.Net Platform)

ارسال ایمیل

در صورتی که تمایلی به خواندن آموزش متنی ندارید می‌توانید ویدیوی آموزشی زیر ‌را مشاهده کنید.

برای استفاده از سرویس ایمیل در برنامه‌های ASP.Net Core باید پس از ایجاد سرویس ایمیل، اطلاعات دسترسی SMTP را طبق مستندات تنظیم متغیرها در تنظیمات برنامه اضافه کنید.

MAIL_HOST=smtp.liara.ir
MAIL_PORT=587
IS_ENCRYPTED=true
MAIL_USERNAME=my-app
MAIL_PASSWORD=87b9307a-dae9-410e-89a2-e77de60e4885
توجه داشته باشید که مقادیر MAIL_USERNAME و MAIL_PASSWORD در هر سرویس ایمیل ایجاد شده متفاوت است بنابراین باید آن‌ها را با مقادیر ارائه شده در تنظیمات سرویس ایمیل‌تان جایگزین کنید.

حال می‌توانید بدون نگرانی در پروژه‌ی خود با استفاده از دسترسی SMTP سرویس ایمیل لیارا به‌صورت امن اقدام به ارسال ایمیل‌های تراکنشی کنید.

نمونه کد ارسال ایمیل:

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

class Program
{
    static void Main()
    {
        DotNetEnv.Env.Load();
        string mail_host = Environment.GetEnvironmentVariable("MAIL_HOST");
        string username = Environment.GetEnvironmentVariable("MAIL_USERNAME");
        string password = Environment.GetEnvironmentVariable("MAIL_PASSWORD");
        string port = Environment.GetEnvironmentVariable("MAIL_PORT");
        string enc = Environment.GetEnvironmentVariable("IS_ENCRYPTED");
        
        var message = new MimeMessage();
        message.From.Add(new MailboxAddress("Sender Name", "sender@examle.com"));
        message.To.Add(new MailboxAddress("Recipient Name", "recipient@example.com"));
        message.Subject = "Hello, World!";
        message.Body = new TextPart("plain")
        {
            Text = "This is the message body."
        };

        using (var client = new SmtpClient())
        {
            client.Connect(mail_host, int.Parse(port), bool.Parse(enc);
            client.Authenticate(username, password);

            client.Send(message);

            client.Disconnect(true);
        }
    }
}
قابل ذکر است که فیلد from باید یکی از نشانی‌های اضافه شده در سرویس ایمیل باشد.

برای اطلاعات بیشتر می‌توانید به مستندات ارسال ایمیل MailKit مراجعه کنید.

متوجه شدم، برو گام بعدی!
;