Urko. bbf75783e7 | ||
---|---|---|
testdata | ||
.gitignore | ||
README.md | ||
email.go | ||
email_test.go | ||
go.mod | ||
go.sum |
README.md
Mail Sender
Description
mail-sender
is a simple Go library designed to send emails with optional attachments. It's built on top of the standard Go net/smtp
library with additional support for sending HTML emails and handling multiple attachments.
Features
- Send HTML emails.
- Attach multiple files to the email.
- Built-in support for TLS encryption.
- Simple API for sending emails.
Installation
Clone this repository:
git clone https://gitea.urkob.com/urko/mail-sender.git
Usage
Here's a basic example on how to use the mail-sender
:
- Initialize the Email Service
config := email.MailServiceConfig{
Auth: smtp.PlainAuth("", "your@email.com", "your-password", "smtp.youremail.com"),
Host: "smtp.youremail.com",
Port: "587",
From: "your@email.com",
}
mailService := email.NewMailService(config)
- Send an Email with an Attachment
emailData := email.EmailMessage{
To: "receiver@email.com",
Subject: "Test Email",
Body: "<h1>Hello!</h1><p>This is a test email.</p>",
Attachments: []email.EmailAttachment{
{
File: attachmentFile, // This is an io.Reader
Title: "document.pdf",
},
},
}
err := mailService.SendEmail(emailData)
if err != nil {
log.Fatal(err)
}
Dependencies
- Go's standard
net/smtp
package - Go's standard
crypto/tls
package for secure email sending.
Contribution
Feel free to submit issues or pull requests if you find any bugs or have suggestions for improvements.