diff --git a/src/main.rs b/src/main.rs index 31728ac..0bdc104 100644 --- a/src/main.rs +++ b/src/main.rs @@ -83,15 +83,19 @@ fn main() { loop { match rx.recv() { - Ok(data) => { + Ok(data) => { + println!("Sending mail to: {}", data[0]); let mail = lettre::SendableEmail::new( lettre::Envelope::new( - Some("m2m.chaostreff-alzye.de".parse().unwrap()), - vec![data[0].parse().unwrap()] + Some( + lettre::EmailAddress::new("m2m@chaostreff-alzey.de".to_owned()) + .unwrap() + ), + vec![ + lettre::EmailAddress::new(data[0].clone()).unwrap()] ).unwrap(), - format!("You were mentioned in {} on {}", data[2], data[1]) - .parse().unwrap(), - format!("{}: {}", data[3], data[4]).into() + format!("You were mentioned in {} on {}", data[2], data[1]), + format!("{}: {}", data[3], data[4]).into_bytes() ); match mailer.send(mail) { Ok(_) => println!("Email sent successfully!"), diff --git a/src/servers.rs b/src/servers.rs index cc7081f..47fe91d 100644 --- a/src/servers.rs +++ b/src/servers.rs @@ -200,7 +200,9 @@ pub fn handle_server(config: Value, tx: Sender<[String; 5]>) Some(addr) => { // There must be a better way to do this… let out = [ - addr.to_string(), + addr.as_str() + .ok_or("Could not parse email address.")? + .to_owned(), server_name.to_owned(), d[1].clone(), d[2].clone(),