จะมาแนะนำการส่ง Email จาก Web Api โดยใช้ MailKit Package โดย Run บน Container แนะนำการใช้ EnvironmentVariable ช่วยให้เราไม่ต้องเก็บ ข้อมูลสำคัญเช่น Email, Password ไว้ใน Code เพื่อความปลอดภัยของ ข้อมูลสำคัญ อีกวิธีหนึ่ง และมีการใช้ LoremNET Package เพื่อช่วย Random Paragraph ใช้ในการส่ง Email
1. Create webapi
$ dotnet new webapi -o email-sender-demo$ cd email-sender-demo//add package
$ dotnet add package MailKit
2. Create File EmailSeder.cs in root project
สร้าง Interface และ Class ตาม File นี้ ลองสังเกตุดูใน File นี้ บรรทัดที่ 16, 17 จะเป็นการเรียกใช้ Value จาก EnvironmentVariable
3. Edit File Startup.cs in ConfigureServices method
Inject EmailSenderService ที่บรรทัด 23
4. Create EmailSenderController.cs
ติดตั้ง Package เพิ่มเติมอีกนิดหนึ่ง
$ dotnet add package LoremNET
5. สร้าง Dockerfile และ docker-compose.yml
สร้าง Dockerfile และ docker-compose.yml ด้วย Extension ของ VS Code
Install Extension Docker ตามในรูป
[Key] Ctrl + Shift + P แล้วก็ทำตามในรูปด้านล่าง
เสร็จแล้วเราก็จะได้ Dockerfile และ DockerCompose File ให้เราแก้ไขเพิ่มเติมส่วนของ environment และ ports
6. Start Container
$ docker compose up -d — build
รอสักพัก เมื่อ Build Image เรียบร้อย Start Container เรียบร้อย Run Command
$ docker ps
เมื่อ Container Run เรียบร้อยแล้วให้เราเข้าไปที่ Path
http://localhost:5000/EmailSender/sendsampleemail?toEmail=<<toemail@gmail.com>>&fromEmail=<<fromEmail@gmail.com>>
(ให้แก้ไข <<toemail@gmail.com>>, <<fromEmail@gmail.com>>)
เพิ่มส่ง Email
Check Email มี Email เข้ามา พร้อมกับเนื้อหาที่ถูก Random ส่งมาให้จริงถือเป็นจบงาน 😁😁
ขอบคุณที่เข้ามาอ่านจนจบนะครับ ✌✌✌
Source Code : email-sender-demo.git