Kitura / Swift-SMTP

Swift SMTP client
Apache License 2.0
262 stars 63 forks source link

DateFormatter "Date" value with non English locale #136

Open bendspoons opened 3 months ago

bendspoons commented 3 months ago

Ive stumbled upon a problem where Emails sent couldnt be delivered to certain recipients, especially with IONOS. The problem is a non-conformity with RFC5322 Date and Time Specification.

As my apps used in Germany, the locale is set to de_DE on most devices, which results in the date formatted as e.g. Do., 18 Juli 2024 12:00, where Do is THursday (Donnerstag) in German. I did change it by changing in Mail.swift (as it was time sensitive to solve)

`extension DateFormatter {

static let smtpDateFormatter: DateFormatter = {

    let formatter = DateFormatter()

    **formatter.locale = Locale(identifier: "en_GB")**

    formatter.dateFormat = "EEE, d MMM yyyy HH:mm:ss ZZZ"

    return formatter

}()

}`

Maybe add a param to the init do set a timezone, and use en_GB (or similar) as default.