# 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`: 1. **Initialize the Email Service** ```go 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) ``` 2. **Send an Email with an Attachment** ```go emailData := email.EmailMessage{ To: "receiver@email.com", Subject: "Test Email", Body: "

Hello!

This is a test email.

", 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.