
پلتفرم .Net
(.Net Platform)ارسال ایمیل
در صورتی که تمایلی به خواندن آموزش متنی ندارید میتوانید ویدیوی آموزشی زیر را مشاهده کنید.
پروژه و کدهای مورد استفاده در ویدیوی فوق در اینجا قابل مشاهده و دسترسی هستند.
برای استفاده از سرویس ایمیل در برنامههای ASP.Net Core باید پس از ایجاد سرویس ایمیل، اطلاعات دسترسی SMTP را طبق مستندات تنظیم متغیرها در تنظیمات برنامه اضافه کنید.
MAIL_HOST=smtp.c1.liara.email
MAIL_PORT=587
MAIL_USERNAME=my-app
MAIL_PASSWORD=my-pass
اگر که از فایل env. برای بارگذاری متغیرهای محیطی در پروژه اصلی استفاده میکنید؛ میتوانید با استفاده از دستور زیر، پکیج DotEnv را نصب کنید.
dotnet add package dotenv.net
توجه داشته باشید که مقادیر MAIL_USERNAME و MAIL_PASSWORD در هر سرویس ایمیل ایجاد شده متفاوت است بنابراین باید آنها را با مقادیر ارائه شده در تنظیمات سرویس ایمیلتان جایگزین کنید.
حال میتوانید بدون نگرانی در پروژهی خود با استفاده از دسترسی SMTP سرویس ایمیل لیارا بهصورت امن اقدام به ارسال ایمیلهای تراکنشی کنید.
نمونه کد ارسال ایمیل:
using System;
using System.Net;
using System.Net.Mail;
using System.IO;
using dotenv.net;
class Program
{
static void Main()
{
DotEnv.Load(); // loading env variables
string mailHost = Environment.GetEnvironmentVariable("MAIL_HOST");
int mailPort = int.Parse(Environment.GetEnvironmentVariable("MAIL_PORT"));
string mailUser = Environment.GetEnvironmentVariable("MAIL_USERNAME");
string mailPassword = Environment.GetEnvironmentVariable("MAIL_PASSWORD");
// SMTP Conf
SmtpClient client = new SmtpClient(mailHost)
{
Port = mailPort,
Credentials = new NetworkCredential(mailUser, mailPassword),
EnableSsl = true
};
// Creating and Sending Email
MailMessage message = new MailMessage("from@test.com", "to@test.com",
"hello", "hello from dotnet!");
try
{
client.Send(message);
Console.WriteLine("email sent successfully");
}
catch (Exception ex)
{
Console.WriteLine($"error in sending email: {ex.Message}");
}
}
}
قابل ذکر است که به جای from@test.com باید یکی از نشانیهای اضافه شده در سرویس ایمیل قرار بگیرد. همچنین to@test.com ایمیل دریافت کننده محتوا است. در کد فوق میتوانید با SSL به صورت امن از ایمیل تراکنشی استفاده
برای اطلاعات بیشتر میتوانید به مستندات ارسال ایمیل MailKit مراجعه کنید.
متوجه شدم، برو گام بعدی!