update dependencies (#236)
- updated lettre - required some changes to the imap_integration to support - remove explicit hostname dep
This commit is contained in:
parent
1ce44011ba
commit
f616ea992e
2 changed files with 53 additions and 55 deletions
|
|
@ -30,14 +30,12 @@ lazy_static = "1.4"
|
||||||
ouroboros = "0.15.0"
|
ouroboros = "0.15.0"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
lettre = "0.9.2"
|
lettre = "0.10"
|
||||||
lettre_email = "0.9.2"
|
|
||||||
rustls-connector = "0.16.1"
|
rustls-connector = "0.16.1"
|
||||||
structopt = "0.3"
|
structopt = "0.3"
|
||||||
|
|
||||||
# to make -Zminimal-versions work
|
# to make -Zminimal-versions work
|
||||||
encoding = "0.2.32"
|
encoding = "0.2.32"
|
||||||
hostname = "0.1.3"
|
|
||||||
failure = "0.1.8"
|
failure = "0.1.8"
|
||||||
mime = "0.3.4"
|
mime = "0.3.4"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
extern crate chrono;
|
extern crate chrono;
|
||||||
extern crate imap;
|
extern crate imap;
|
||||||
extern crate lettre;
|
extern crate lettre;
|
||||||
extern crate lettre_email;
|
|
||||||
extern crate native_tls;
|
extern crate native_tls;
|
||||||
|
|
||||||
use chrono::{FixedOffset, TimeZone};
|
use chrono::{FixedOffset, TimeZone};
|
||||||
|
|
@ -87,17 +86,26 @@ fn session(user: &str) -> imap::Session<native_tls::TlsStream<TcpStream>> {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn smtp(user: &str) -> lettre::SmtpTransport {
|
fn smtp(user: &str) -> lettre::SmtpTransport {
|
||||||
let creds = lettre::smtp::authentication::Credentials::new(user.to_string(), user.to_string());
|
use lettre::{
|
||||||
lettre::SmtpClient::new(
|
transport::smtp::{
|
||||||
&format!("{}:{}", test_smtp_host(), test_smtps_port()),
|
authentication::Credentials,
|
||||||
lettre::ClientSecurity::Wrapper(lettre::ClientTlsParameters {
|
client::{Tls, TlsParameters},
|
||||||
connector: tls(),
|
},
|
||||||
domain: "smtp.example.com".to_string(),
|
SmtpTransport,
|
||||||
}),
|
};
|
||||||
)
|
|
||||||
.unwrap()
|
let creds = Credentials::new(user.to_string(), user.to_string());
|
||||||
.credentials(creds)
|
let hostname = test_smtp_host();
|
||||||
.transport()
|
let tls = TlsParameters::builder(hostname.clone())
|
||||||
|
.dangerous_accept_invalid_certs(true)
|
||||||
|
.dangerous_accept_invalid_hostnames(true)
|
||||||
|
.build()
|
||||||
|
.unwrap();
|
||||||
|
SmtpTransport::builder_dangerous(hostname)
|
||||||
|
.port(test_smtps_port())
|
||||||
|
.tls(Tls::Wrapper(tls))
|
||||||
|
.credentials(creds)
|
||||||
|
.build()
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
@ -154,25 +162,23 @@ fn inbox() {
|
||||||
c.select("INBOX").unwrap();
|
c.select("INBOX").unwrap();
|
||||||
|
|
||||||
// then send the e-mail
|
// then send the e-mail
|
||||||
let mut s = smtp(to);
|
let s = smtp(to);
|
||||||
let e = lettre_email::Email::builder()
|
let e = lettre::message::Message::builder()
|
||||||
.from("sender@localhost")
|
.from("sender@localhost".parse().unwrap())
|
||||||
.to(to)
|
.to(to.parse().unwrap())
|
||||||
.subject("My first e-mail")
|
.subject("My first e-mail")
|
||||||
.text("Hello world from SMTP")
|
.body("Hello world from SMTP".to_string())
|
||||||
.build()
|
|
||||||
.unwrap();
|
.unwrap();
|
||||||
s.send(e.into()).unwrap();
|
s.send(&e.into()).unwrap();
|
||||||
|
|
||||||
// send a second e-mail
|
// send a second e-mail
|
||||||
let e = lettre_email::Email::builder()
|
let e = lettre::message::Message::builder()
|
||||||
.from("sender2@localhost")
|
.from("sender2@localhost".parse().unwrap())
|
||||||
.to(to)
|
.to(to.parse().unwrap())
|
||||||
.subject("My second e-mail")
|
.subject("My second e-mail")
|
||||||
.text("Hello world from SMTP")
|
.body("Hello world from SMTP".to_string())
|
||||||
.build()
|
|
||||||
.unwrap();
|
.unwrap();
|
||||||
s.send(e.into()).unwrap();
|
s.send(&e.into()).unwrap();
|
||||||
|
|
||||||
wait_for_delivery();
|
wait_for_delivery();
|
||||||
|
|
||||||
|
|
@ -281,15 +287,14 @@ fn inbox_uid() {
|
||||||
c.select("INBOX").unwrap();
|
c.select("INBOX").unwrap();
|
||||||
|
|
||||||
// then send the e-mail
|
// then send the e-mail
|
||||||
let mut s = smtp(to);
|
let s = smtp(to);
|
||||||
let e = lettre_email::Email::builder()
|
let e = lettre::message::Message::builder()
|
||||||
.from("sender@localhost")
|
.from("sender@localhost".parse().unwrap())
|
||||||
.to(to)
|
.to(to.parse().unwrap())
|
||||||
.subject("My first e-mail")
|
.subject("My first e-mail")
|
||||||
.text("Hello world from SMTP")
|
.body("Hello world from SMTP".to_string())
|
||||||
.build()
|
|
||||||
.unwrap();
|
.unwrap();
|
||||||
s.send(e.into()).unwrap();
|
s.send(&e.into()).unwrap();
|
||||||
|
|
||||||
wait_for_delivery();
|
wait_for_delivery();
|
||||||
|
|
||||||
|
|
@ -353,12 +358,11 @@ fn append() {
|
||||||
let to = "inbox-append1@localhost";
|
let to = "inbox-append1@localhost";
|
||||||
|
|
||||||
// make a message to append
|
// make a message to append
|
||||||
let e: lettre::SendableEmail = lettre_email::Email::builder()
|
let e: lettre::Message = lettre::message::Message::builder()
|
||||||
.from("sender@localhost")
|
.from("sender@localhost".parse().unwrap())
|
||||||
.to(to)
|
.to(to.parse().unwrap())
|
||||||
.subject("My second e-mail")
|
.subject("My second e-mail")
|
||||||
.text("Hello world")
|
.body("Hello world".to_string())
|
||||||
.build()
|
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.into();
|
.into();
|
||||||
|
|
||||||
|
|
@ -367,9 +371,7 @@ fn append() {
|
||||||
let mbox = "INBOX";
|
let mbox = "INBOX";
|
||||||
c.select(mbox).unwrap();
|
c.select(mbox).unwrap();
|
||||||
//append
|
//append
|
||||||
c.append(mbox, e.message_to_string().unwrap().as_bytes())
|
c.append(mbox, &e.formatted()).finish().unwrap();
|
||||||
.finish()
|
|
||||||
.unwrap();
|
|
||||||
|
|
||||||
// now we should see the e-mail!
|
// now we should see the e-mail!
|
||||||
let inbox = c.uid_search("ALL").unwrap();
|
let inbox = c.uid_search("ALL").unwrap();
|
||||||
|
|
@ -402,12 +404,11 @@ fn append_with_flags() {
|
||||||
let to = "inbox-append2@localhost";
|
let to = "inbox-append2@localhost";
|
||||||
|
|
||||||
// make a message to append
|
// make a message to append
|
||||||
let e: lettre::SendableEmail = lettre_email::Email::builder()
|
let e: lettre::Message = lettre::message::Message::builder()
|
||||||
.from("sender@localhost")
|
.from("sender@localhost".parse().unwrap())
|
||||||
.to(to)
|
.to(to.parse().unwrap())
|
||||||
.subject("My third e-mail")
|
.subject("My third e-mail")
|
||||||
.text("Hello world")
|
.body("Hello world".to_string())
|
||||||
.build()
|
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.into();
|
.into();
|
||||||
|
|
||||||
|
|
@ -417,7 +418,7 @@ fn append_with_flags() {
|
||||||
c.select(mbox).unwrap();
|
c.select(mbox).unwrap();
|
||||||
//append
|
//append
|
||||||
let flags = vec![Flag::Seen, Flag::Flagged];
|
let flags = vec![Flag::Seen, Flag::Flagged];
|
||||||
c.append(mbox, e.message_to_string().unwrap().as_bytes())
|
c.append(mbox, &e.formatted())
|
||||||
.flags(flags)
|
.flags(flags)
|
||||||
.finish()
|
.finish()
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
@ -460,12 +461,11 @@ fn append_with_flags_and_date() {
|
||||||
let to = "inbox-append3@localhost";
|
let to = "inbox-append3@localhost";
|
||||||
|
|
||||||
// make a message to append
|
// make a message to append
|
||||||
let e: lettre::SendableEmail = lettre_email::Email::builder()
|
let e: lettre::Message = lettre::message::Message::builder()
|
||||||
.from("sender@localhost")
|
.from("sender@localhost".parse().unwrap())
|
||||||
.to(to)
|
.to(to.parse().unwrap())
|
||||||
.subject("My third e-mail")
|
.subject("My third e-mail")
|
||||||
.text("Hello world")
|
.body("Hello world".to_string())
|
||||||
.build()
|
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.into();
|
.into();
|
||||||
|
|
||||||
|
|
@ -477,7 +477,7 @@ fn append_with_flags_and_date() {
|
||||||
let date = FixedOffset::east(8 * 3600)
|
let date = FixedOffset::east(8 * 3600)
|
||||||
.ymd(2020, 12, 13)
|
.ymd(2020, 12, 13)
|
||||||
.and_hms(13, 36, 36);
|
.and_hms(13, 36, 36);
|
||||||
c.append(mbox, e.message_to_string().unwrap().as_bytes())
|
c.append(mbox, &e.formatted())
|
||||||
.flag(Flag::Seen)
|
.flag(Flag::Seen)
|
||||||
.flag(Flag::Flagged)
|
.flag(Flag::Flagged)
|
||||||
.internal_date(date)
|
.internal_date(date)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue