Merge pull request #320 from TyPR124/get-from-from-envelope

Get 'from' from envelope
This commit is contained in:
Alexis Mousset
2019-03-17 11:36:43 +00:00
committed by GitHub
2 changed files with 36 additions and 0 deletions

View File

@@ -430,6 +430,10 @@ impl EmailBuilder {
if !self.from.is_empty() {
self.message = self.message
.header(Header::new_with_value("From".into(), self.from).unwrap());
} else if let Some(from) = envelope.from() {
let from = vec![Address::new_mailbox(from.to_string())];
self.message = self.message
.header(Header::new_with_value("From".into(), from).unwrap());
} else {
Err(EmailError::Envelope {
error: LettreError::MissingFrom,

View File

@@ -0,0 +1,32 @@
extern crate lettre_email;
extern crate lettre;
use lettre_email::EmailBuilder;
use lettre::{EmailAddress, Envelope};
#[test]
fn build_with_envelope_test() {
let e = Envelope::new(
Some(EmailAddress::new("from@example.org".to_string()).unwrap()),
vec![EmailAddress::new("to@example.org".to_string()).unwrap()],
).unwrap();
let _email = EmailBuilder::new()
.envelope(e)
.subject("subject")
.text("message")
.build()
.unwrap();
}
#[test]
fn build_with_envelope_without_from_test() {
let e = Envelope::new(
None,
vec![EmailAddress::new("to@example.org".to_string()).unwrap()],
).unwrap();
let _email = EmailBuilder::new()
.envelope(e)
.subject("subject")
.text("message")
.build()
.unwrap_err();
}