diff --git a/Shared/Article Rendering/ArticleRenderer.swift b/Shared/Article Rendering/ArticleRenderer.swift index 9cce8f8b4..90ae8b807 100644 --- a/Shared/Article Rendering/ArticleRenderer.swift +++ b/Shared/Article Rendering/ArticleRenderer.swift @@ -218,19 +218,24 @@ private extension ArticleRenderer { } isFirstAuthor = false - if let emailAddress = author.emailAddress, emailAddress.contains(" ") { + var authorEmailAddress: String? = nil + if let emailAddress = author.emailAddress, !(emailAddress.contains("noreply@") || emailAddress.contains("no-reply@")) { + authorEmailAddress = emailAddress + } + + if let emailAddress = authorEmailAddress, emailAddress.contains(" ") { byline += emailAddress // probably name plus email address } else if let name = author.name, let url = author.url { byline += name.htmlByAddingLink(url) } - else if let name = author.name, let emailAddress = author.emailAddress { + else if let name = author.name, let emailAddress = authorEmailAddress { byline += "\(name) <\(emailAddress)>" } else if let name = author.name { byline += name } - else if let emailAddress = author.emailAddress { + else if let emailAddress = authorEmailAddress { byline += "<\(emailAddress)>" // TODO: mailto link } else if let url = author.url { diff --git a/Shared/Extensions/ArticleUtilities.swift b/Shared/Extensions/ArticleUtilities.swift index c5d2421b1..cfc4e34fb 100644 --- a/Shared/Extensions/ArticleUtilities.swift +++ b/Shared/Extensions/ArticleUtilities.swift @@ -134,17 +134,22 @@ extension Article { byline += ", " } isFirstAuthor = false + + var authorEmailAddress: String? = nil + if let emailAddress = author.emailAddress, !(emailAddress.contains("noreply@") || emailAddress.contains("no-reply@")) { + authorEmailAddress = emailAddress + } - if let emailAddress = author.emailAddress, emailAddress.contains(" ") { + if let emailAddress = authorEmailAddress, emailAddress.contains(" ") { byline += emailAddress // probably name plus email address } - else if let name = author.name, let emailAddress = author.emailAddress { + else if let name = author.name, let emailAddress = authorEmailAddress { byline += "\(name) <\(emailAddress)>" } else if let name = author.name { byline += name } - else if let emailAddress = author.emailAddress { + else if let emailAddress = authorEmailAddress { byline += "<\(emailAddress)>" } else if let url = author.url {