Joannis / VaporSMTPKit

SMTP support in Vapor 4

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Vapor 4 + SMTP

Add this library to Package.swift

.package(url: "https://github.com/Joannis/VaporSMTPKit.git", from: "1.0.0")

Add the target "VaporSMTPKit" to your own target's dependencies. In Swift 5.2 manifests, this looks like the following:

.product(name: "VaporSMTPKit", package: "VaporSMTPKit"),

Setup

import VaporSMTPKit

extension SMTPCredentials {
    static var `default`: SMTPCredentials {
        return SMTPCredentials(
            hostname: "smtp.example.com",
            ssl: .startTLS(configuration: .default),
            email: "noreply@example.com",
            password: "<SECRET>"
        )
    }
}

Sending a Mail

app.get { request -> EventLoopFuture<String> in
    let email = Mail(
        from: "noreply@example.com",
        to: [
            MailUser(name: "Myself", email: "me@example.com")
        ],
        subject: "Your new mail server!",
        contentType: .plain,
        text: "You've set up mail!"
    )
    
    return request.application.sendMail(email, withCredentials: .default).map { 
        return "Check your mail!"
    }
}

About

SMTP support in Vapor 4


Languages

Language:Swift 100.0%