MimeKit과 MailKit 패키지가 프로젝트에 정상적으로 설치되지 않았거나, NuGet 패키지를 빌드할 수 없는 상황이 발생
✅ 1. 패키지 설치 확인
프로젝트 파일 (.csproj)에 다음이 반드시 있어야 합니다:
<ItemGroup> <PackageReference Include="MimeKit" Version="[버전]" /> <PackageReference Include="MailKit" Version="[버전]" /> </ItemGroup> 예시 <ItemGroup> <PackageReference Include="MimeKit" Version="4.13.0" /> <PackageReference Include="MailKit" Version="4.13.0" /> </ItemGroup>
- 위 항목이 없다면
.csproj파일에 직접 추가하거나 아래 명령어로 설치
✅ 2. NuGet 패키지 수동 설치 (Visual Studio 없이)
dotnet add package MimeKit --version [버전] dotnet add package MailKit --version [버전] 예시 dotnet add package MimeKit --version 4.13.0 dotnet add package MailKit --version 4.13.0
✅ 3. 패키지 복원
아래 명령어로 패키지를 복원합니다:
dotnet restore
✅ 4. MailKit 간단한 사용 예시
using MimeKit;
using MailKit.Net.Smtp;
using MailKit.Security;
namespace "namespace"
{
public class EmailService : IEmailService
{
private readonly ILogger<EmailService> _logger;
public EmailService(ILogger<EmailService> logger)
{
_logger = logger;
}
public async Task SendEmailAsync(string to, string subject, string body, string mimeType = "plain")
{
var email = new MimeMessage();
email.From.Add(MailboxAddress.Parse("noreply@lycos7560.com"));
email.To.Add(MailboxAddress.Parse(to));
email.Subject = subject;
email.Body = new TextPart(mimeType)
{
Text = body
};
using var smtp = new SmtpClient();
try
{
await smtp.ConnectAsync("localhost", 포트, SecureSocketOptions.None);
await smtp.SendAsync(email);
await smtp.DisconnectAsync(true);
}
catch (Exception ex)
{
_logger.LogError(ex, "메일 전송 실패");
throw;
}
}
}
}
namespace "namespace"
{
public interface IEmailService
{
public Task SendEmailAsync(string to, string subject, string body, string mimeType = "plain");
}
}



