From 3a86f09475950a9a21d8fe031fa897b0d6f006f0 Mon Sep 17 00:00:00 2001 From: Alexis Mousset Date: Wed, 4 Mar 2015 14:04:08 +0100 Subject: [PATCH] Fix Email Sender --- examples/client.rs | 2 +- src/client/mod.rs | 8 ++++---- src/lib.rs | 4 ++-- src/mailer/mod.rs | 1 + 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/examples/client.rs b/examples/client.rs index e08e9a4..8b9f1ee 100644 --- a/examples/client.rs +++ b/examples/client.rs @@ -37,7 +37,7 @@ fn sendmail(source_address: String, recipient_addresses: Vec, message: S .subject(subject.as_slice()) .build(); - let mut client = ClientBuilder::new((server.as_slice(), port)).hello_name(my_hostname) + let mut client = ClientBuilder::new((server.as_slice(), port)).hello_name(my_hostname.as_slice()) .enable_connection_reuse(true).build(); for _ in range(1, number) { diff --git a/src/client/mod.rs b/src/client/mod.rs index 9e60127..47434c3 100644 --- a/src/client/mod.rs +++ b/src/client/mod.rs @@ -72,8 +72,8 @@ impl ClientBuilder { } /// Set the name used during HELO or EHLO - pub fn hello_name(mut self, name: String) -> ClientBuilder { - self.hello_name = name; + pub fn hello_name(mut self, name: &str) -> ClientBuilder { + self.hello_name = name.to_string(); self } @@ -90,8 +90,8 @@ impl ClientBuilder { } /// Set the client credentials - pub fn credentials(mut self, username: String, password: String) -> ClientBuilder { - self.credentials = Some((username, password)); + pub fn credentials(mut self, username: &str, password: &str) -> ClientBuilder { + self.credentials = Some((username.to_string(), password.to_string())); self } diff --git a/src/lib.rs b/src/lib.rs index 37ac573..ce7c54f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -73,9 +73,9 @@ //! // Connect to a remote server on a custom port //! let mut client = ClientBuilder::new(("server.tld", 10025)) //! // Set the name sent during EHLO/HELO, default is `localhost` -//! .hello_name("my.hostname.tld".to_string()) +//! .hello_name("my.hostname.tld") //! // Add credentials for authentication -//! .credentials("username".to_string(), "password".to_string()) +//! .credentials("username", "password") //! // Enable connection reuse //! .enable_connection_reuse(true).build(); //! let result_1 = client.send(email.clone()); diff --git a/src/mailer/mod.rs b/src/mailer/mod.rs index a25e5aa..f6d0b73 100644 --- a/src/mailer/mod.rs +++ b/src/mailer/mod.rs @@ -117,6 +117,7 @@ impl EmailBuilder { /// Adds a `Sender` header pub fn sender(mut self, address: A) -> EmailBuilder { + self.content.from = Some(address.to_address().get_address()); self.content.headers.push( Header::Sender(address.to_address()) );