Add more email headers and some basic testing to the mailer
This commit is contained in:
@@ -47,7 +47,7 @@ pub enum Header {
|
||||
/// `Reply-To`
|
||||
ReplyTo(Address),
|
||||
/// `Sender`
|
||||
Sender(String),
|
||||
Sender(Address),
|
||||
/// `Date`
|
||||
Date(Tm),
|
||||
/// `Subject`
|
||||
@@ -108,6 +108,9 @@ impl Header {
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::Header;
|
||||
use mailer::address::Address;
|
||||
|
||||
use time::{at_utc, Timespec};
|
||||
|
||||
#[test]
|
||||
fn test_new() {
|
||||
@@ -123,5 +126,18 @@ mod test {
|
||||
format!("{}", Header::new("From", "me")),
|
||||
"From: me".to_string()
|
||||
);
|
||||
assert_eq!(
|
||||
format!("{}", Header::To(Address::new("me@example.com", Some("My Name")))),
|
||||
"To: My Name <me@example.com>".to_string()
|
||||
);
|
||||
assert_eq!(
|
||||
format!("{}", Header::Subject("Test subject".to_string())),
|
||||
"Subject: Test subject".to_string()
|
||||
);
|
||||
let time = at_utc(Timespec::new(1234567890, 54321));
|
||||
assert_eq!(
|
||||
format!("{}", Header::Date(time)),
|
||||
"Date: Fri, 13 Feb 2009 23:31:30 GMT".to_string()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,6 +100,13 @@ impl Email {
|
||||
);
|
||||
}
|
||||
|
||||
/// Adds a `Sender` header
|
||||
pub fn sender<A: ToAddress>(&mut self, address: A) {
|
||||
self.headers.push(
|
||||
Header::Sender(address.to_address())
|
||||
);
|
||||
}
|
||||
|
||||
/// Adds a `Subject` header
|
||||
pub fn subject(&mut self, subject: &str) {
|
||||
self.headers.push(
|
||||
|
||||
Reference in New Issue
Block a user