LiteX.Email
5.2.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package LiteX.Email --version 5.2.0
NuGet\Install-Package LiteX.Email -Version 5.2.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LiteX.Email" Version="5.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LiteX.Email --version 5.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: LiteX.Email, 5.2.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install LiteX.Email as a Cake Addin #addin nuget:?package=LiteX.Email&version=5.2.0 // Install LiteX.Email as a Cake Tool #tool nuget:?package=LiteX.Email&version=5.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
LiteX Email Smtp
LiteX.Email is a email message library which is based on LiteX.Email.Core and Smtp.
Add a dependency
Nuget
Run the nuget command for installing the client as,
Install-Package LiteX.Email.Core
Install-Package LiteX.Email
Configuration
AppSettings
{
//LiteX Smtp settings
"SmtpConfig": {
"Email": "--- REPLACE WITH YOUR Email ---",
"DisplayName": "--- REPLACE WITH YOUR DisplayName ---",
"Host": "--- REPLACE WITH Host Host ---",
"Port": 587, //"--- REPLACE WITH YOUR Port (int) ---",
"Username": "--- REPLACE WITH YOUR Username ---",
"Password": "--- REPLACE WITH YOUR Password ---",
"EnableSsl": true, //"--- REPLACE WITH YOUR EnableSsl (boolean) ---",
"UseDefaultCredentials": false //"--- REPLACE WITH YOUR UseDefaultCredentials (boolean) ---"
}
}
Startup Configuration
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
#region LiteX Email (SMTP)
// 1. Use default configuration from appsettings.json's 'SmtpConfig'
services.AddLiteXEmail();
//OR
// 2. Load configuration settings using options.
services.AddLiteXEmail(option =>
{
option.Host = "";
option.Username = "";
option.Password = "";
option.Port = 443;
option.Email = "";
option.EnableSsl = true;
option.UseDefaultCredentials = true;
option.DisplayName = "";
});
//OR
// 3. Load configuration settings on your own.
// (e.g. appsettings, database, hardcoded)
var smtpConfig = new SmtpConfig()
{
Host = "",
Username = "",
Password = "",
Port = 443,
Email = "",
EnableSsl = true,
UseDefaultCredentials = true,
DisplayName = ""
};
services.AddLiteXEmail(smtpConfig);
#endregion
}
}
Usage
Controller or Business layer
/// <summary>
/// Customer controller
/// </summary>
[Route("api/[controller]")]
public class CustomerController : Controller
{
#region Fields
private readonly IEmailSender _emailSender;
#endregion
#region Ctor
/// <summary>
/// Ctor
/// </summary>
/// <param name="emailSender"></param>
public CustomerController(IEmailSender emailSender)
{
_emailSender = emailSender;
}
#endregion
#region Methods
/// <summary>
/// Get Email Provider Type
/// </summary>
/// <returns></returns>
[HttpGet]
[Route("get-email-provider-type")]
public IActionResult GetEmailProviderType()
{
return Ok(_emailSender.EmailProviderType.ToString());
}
/// <summary>
/// Send email to customer
/// </summary>
/// <param name="customer"></param>
/// <returns></returns>
[HttpPost]
[Route("send-email-to-customer")]
public IActionResult SendEmailToCustomer(Customer customer)
{
try
{
string subject = "Welcome!",
body = "Welcome to LiteX!",
fromAddress = "abc@gmail.com",
fromName = "LiteX",
toAddress = customer.Email ?? "abc@yahoo.com",
toName = customer.FirstName ?? "Aashish Patel",
replyToAddress = "abc@gmail.com",
replyToName = "Reply Name";
IEnumerable<string> bcc = new List<string>() { "abc@outlook.com" };
IEnumerable<string> cc = new List<string>() { "abc@gmail.com" };
IEnumerable<Attachment> attachments = new List<Attachment>();
_emailSender.SendEmail(subject, body, fromAddress, fromName, toAddress, toName, replyToAddress, replyToName, bcc, cc, attachments);
//_emailSender.SendEmail(subject, body, fromAddress, fromName, toAddress, toName, replyToAddress, replyToName, bcc, cc);
// async
//await _emailSender.SendEmailAsync(subject, body, fromAddress, fromName, toAddress, toName, replyToAddress, replyToName, bcc, cc, attachments);
return Ok();
}
catch (Exception ex)
{
return BadRequest(ex);
}
}
#endregion
#region Utilities
private IList<Customer> GetCustomers()
{
IList<Customer> customers = new List<Customer>();
customers.Add(new Customer() { Id = 1, Username = "ashish", Email = "abc@outlook.com" });
return customers;
}
private Customer GetCustomerById(int id)
{
Customer customer = null;
customer = GetCustomers().ToList().FirstOrDefault(x => x.Id == id);
return customer;
}
#endregion
}
Coming soon
- Logging
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- LiteX.Email.Core (>= 5.0.0)
- Microsoft.Extensions.Configuration (>= 2.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 2.0.0)
- Microsoft.Extensions.DependencyInjection (>= 2.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
9.0.0 | 2,552 | 1/1/2021 |
8.1.0 | 1,931 | 4/5/2020 |
8.0.0 | 1,964 | 9/19/2019 |
7.1.0 | 2,640 | 11/25/2018 |
7.0.0 | 2,456 | 8/19/2018 |
6.1.0 | 1,415 | 7/14/2018 |
6.0.0 | 1,308 | 7/2/2018 |
5.2.0 | 1,336 | 6/20/2018 |
5.1.0 | 1,421 | 6/18/2018 |
5.0.0 | 1,466 | 6/10/2018 |
4.0.0 | 1,383 | 5/7/2018 |
3.0.0 | 1,533 | 4/30/2018 |
2.0.0 | 1,535 | 4/25/2018 |
1.1.0 | 1,360 | 4/23/2018 |
1.0.0 | 1,403 | 4/20/2018 |
Async support.
Added new extensions methods.
Other configuration level code changes.
Bug fixes.