update dependencies (#236)

- updated lettre
  - required some changes to the imap_integration to support
- remove explicit hostname dep
This commit is contained in:
Edward Rudd 2022-07-30 10:06:39 -04:00 committed by GitHub
parent 1ce44011ba
commit f616ea992e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 53 additions and 55 deletions

View file

@ -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"

View file

@ -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)