Để sử dụng MailChimp tự động gửi email theo danh sách định sẵn trong một ứng dụng ASP.NET Core MVC (phiên bản 8), bạn sẽ cần tích hợp MailChimp API vào ứng dụng của mình. MailChimp cung cấp API mạnh mẽ để tương tác với hệ thống của họ, bao gồm việc gửi email tự động.
Dưới đây là hướng dẫn cơ bản để bạn có thể tích hợp và sử dụng MailChimp API trong dự án ASP.NET Core MVC 8.
Truy cập vào MailChimp.
Đăng ký tài khoản hoặc đăng nhập nếu bạn đã có tài khoản.
Vào Account -> Extras -> API keys.
Tạo một API key mới và sao chép nó. Bạn sẽ sử dụng API key này để xác thực khi gọi API của MailChimp.
Trong dự án ASP.NET Core của bạn, bạn cần cài đặt thư viện hỗ trợ gọi API của MailChimp. Một trong các thư viện phổ biến là MailChimp.Net.
Mở NuGet Package Manager hoặc sử dụng Package Manager Console và cài đặt thư viện MailChimp.Net:
dotnet add package MailChimp.Net
Mở appsettings.json và thêm thông tin API key và list id của MailChimp mà bạn muốn gửi email.
{
"MailChimp": {
"ApiKey": "your-api-key",
"ListId": "your-list-id"
}
}
Trong đó:
"ApiKey" là API key bạn đã tạo ở bước 1.
"ListId" là ID danh sách gửi email mà bạn muốn sử dụng.
Tạo một lớp cấu hình trong thư mục Models (hoặc thư mục cấu hình của bạn) để dễ dàng truy xuất thông tin từ appsettings.json.
public class MailChimpSettings
{
public string ApiKey { get; set; }
public string ListId { get; set; }
}
Cấu hình để đọc từ appsettings.json trong Program.cs
// Cấu hình MailChimp từ appsettings
services.Configure<MailChimpSettings>(Configuration.GetSection("MailChimp"));
Tạo một dịch vụ để gửi email sử dụng MailChimp API.
using MailChimp.Net;
using MailChimp.Net.Interfaces;
using MailChimp.Net.Models;
using Microsoft.Extensions.Options;
public class MailChimpService
{
private readonly MailChimpSettings _mailChimpSettings;
private readonly IMailChimpManager _mailChimpManager;
public MailChimpService(IOptions<MailChimpSettings> mailChimpSettings)
{
_mailChimpSettings = mailChimpSettings.Value;
_mailChimpManager = new MailChimpManager(_mailChimpSettings.ApiKey);
}
public async Task SendEmailAsync(string subject, string body, List<string> emailAddresses)
{
// Tạo danh sách người nhận từ danh sách email có sẵn
var campaign = new Campaign
{
Type = CampaignType.Regular,
Recipients = new Recipients
{
ListId = _mailChimpSettings.ListId,
},
Settings = new Setting
{
SubjectLine = subject,
FromName = "Your Name",
ReplyTo = "your-email@example.com",
}
};
// Tạo nội dung email
campaign.Content = new Content
{
Html = body
};
// Tạo chiến dịch và gửi
var createdCampaign = await _mailChimpManager.Campaigns.AddAsync(campaign);
// Gửi chiến dịch
await _mailChimpManager.Campaigns.SendAsync(createdCampaign.Id);
}
}
Bây giờ, bạn có thể gọi dịch vụ này trong controller để gửi email theo yêu cầu.
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Threading.Tasks;
public class EmailController : Controller
{
private readonly MailChimpService _mailChimpService;
public EmailController(MailChimpService mailChimpService)
{
_mailChimpService = mailChimpService;
}
public async Task<IActionResult> SendEmail()
{
var subject = "Chào bạn, đây là email tự động!";
var body = "<h1>Chúc bạn một ngày tốt lành!</h1><p>Đây là email tự động gửi từ ứng dụng ASP.NET Core MVC.</p>";
var emailAddresses = new List<string> { "recipient1@example.com", "recipient2@example.com" };
await _mailChimpService.SendEmailAsync(subject, body, emailAddresses);
return Ok("Email đã được gửi thành công!");
}
}
Kiểm tra lại tất cả các bước để đảm bảo cấu hình và mã nguồn chính xác.
Khi truy cập vào URL của controller EmailController và gọi phương thức SendEmail(), email sẽ được gửi tự động đến những người trong danh sách định sẵn.
ListId là danh sách mà bạn muốn gửi email đến, bạn cần tạo một danh sách email trên MailChimp và lấy ID của nó.
Các email sẽ được gửi theo dạng chiến dịch (campaign) và bạn có thể tùy chỉnh nội dung email trong phần body.
MailChimp có giới hạn về số lượng email gửi hàng ngày, vì vậy hãy kiểm tra số lượng email được phép gửi tùy theo gói dịch vụ của bạn.
Trên đây là các bước cơ bản để tích hợp MailChimp API vào ứng dụng ASP.NET Core MVC 8 để tự động gửi email theo danh sách định sẵn. Bạn có thể mở rộng thêm các tính năng như gửi email theo thời gian định kỳ, thêm các tham số động vào nội dung email, hoặc tích hợp với các dịch vụ khác của MailChimp như báo cáo và phân tích.