Devplus.Mail
1.1.0
dotnet add package Devplus.Mail --version 1.1.0
NuGet\Install-Package Devplus.Mail -Version 1.1.0
<PackageReference Include="Devplus.Mail" Version="1.1.0" />
<PackageVersion Include="Devplus.Mail" Version="1.1.0" />
<PackageReference Include="Devplus.Mail" />
paket add Devplus.Mail --version 1.1.0
#r "nuget: Devplus.Mail, 1.1.0"
#:package Devplus.Mail@1.1.0
#addin nuget:?package=Devplus.Mail&version=1.1.0
#tool nuget:?package=Devplus.Mail&version=1.1.0
Devplus.Mail ✉️
✉️ Biblioteca para envio de emails utilizando o SendGrid.
🚀 Instalação
Para instalar a biblioteca via NuGet, utilize o seguinte comando:
dotnet add package Devplus.Mail
Ou, no Visual Studio:
- Abra o Gerenciador de Pacotes NuGet.
- Busque por Devplus.Mail.
- Clique em Instalar.
⚡ Como Usar
📤 Enviando Emails
using Devplus.Mail.Interfaces;
public class EmailServiceExample
{
private readonly IEmailService _emailService;
public EmailServiceExample(IEmailService emailService)
{
_emailService = emailService;
}
public async Task SendEmail()
{
await _emailService.SendEmailAsync(
toEmail: "example@domain.com",
subject: "Bem-vindo ao Devplus!",
plainTextContent: "Obrigado por se registrar.",
htmlContent: "<strong>Obrigado por se registrar.</strong>"
);
}
}
📋 Enviando Emails com Template
using Devplus.Mail.Enum;
using Devplus.Mail.Interfaces;
public class TemplateEmailExample
{
private readonly IEmailService _emailService;
public TemplateEmailExample(IEmailService emailService)
{
_emailService = emailService;
}
public async Task SendTemplateEmail()
{
await _emailService.SendTemplateEmail(
toEmail: "example@domain.com",
subject: "Aviso Importante",
message: "Sua conta foi atualizada com sucesso.",
link: "https://www.devplus.com.br",
templateType: EmailTemplateType.Success
);
}
}
📎 Enviando Emails com Anexos
using System.Text;
using Devplus.Mail.Interfaces;
using Devplus.Mail.Models;
public class EmailWithAttachmentExample
{
private readonly IEmailService _emailService;
public EmailWithAttachmentExample(IEmailService emailService)
{
_emailService = emailService;
}
public async Task SendEmailWithAttachment()
{
var csvContent = "Nome,Email,Idade\nClayton,clayton@devplus.com.br,30\nMaria,maria@devplus.com.br,25";
var csvBytes = Encoding.UTF8.GetBytes(csvContent);
var csvAttachment = new EmailAttachment
{
FileName = "usuarios.csv",
MimeType = "text/csv",
Disposition = "attachment",
ContentStream = new MemoryStream(csvBytes),
};
await _emailService.SendEmailAsync(
toEmail: "example@domain.com",
subject: "Relatório de Usuários",
plainTextContent: "Segue em anexo o relatório de usuários.",
htmlContent: "<strong>Segue em anexo o relatório de usuários.</strong>",
attachments: new[] { csvAttachment }
);
}
}
🔧 Configuração via appsettings.json
{
"SendGrid": {
"ApiKey": "sua-api-key",
"FromEmail": "noreply@devplus.com.br",
"FromName": "Devplus"
}
}
E no Program.cs:
var configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.Build();
builder.Services.AddMail(configuration);
🛠 Compatibilidade
| .NET Version | Suportado |
|---|---|
| .NET 8.0 | ✅ Sim |
| .NET 7.0 | ✅ Sim |
| .NET 6.0 | ✅ Sim |
| .NET Core 3.1 | ⚠️ Suporte limitado |
| .NET Framework | ❌ Não suportado |
📌 Funcionalidades
✅ Suporte ao SendGrid para envio de emails.
✅ Injeção de dependência via IServiceCollection.
✅ Configuração via appsettings.json.
✅ Compatível com .NET 6, .NET 7 e .NET 8.
✅ Suporte a templates de email embutidos.
✅ Envio de anexos em emails.
🏗 Contribuindo
Se você quiser contribuir para este projeto:
- Fork o repositório.
- Crie uma branch (
git checkout -b feature/nova-feature). - Faça commit das alterações (
git commit -m "Add nova feature"). - Envie um Pull Request.
📄 Licença
Este projeto está licenciado sob a MIT License.
📞 Contato
📧 Email: clayton@devplus.com.br
🔗 LinkedIn: Clayton Oliveira
🚀 Devplus Consultoria: www.devplus.com.br
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.Extensions.DependencyInjection (>= 9.0.0)
- Microsoft.Extensions.Hosting (>= 9.0.0)
- SendGrid (>= 9.29.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.