Commit Diff


commit - ccb62d531454eb4b79b334d3d72be07aa85f4101
commit + e8c5640f7c0c84e3a3da2f141895ba422f96924c
blob - 98c81d0675870c295c157e7fb817f9132755c138
blob + 35075ef09abae29483866db27c732082673f405a
--- src/mail.rs
+++ src/mail.rs
@@ -3,7 +3,6 @@ use lettre::{
     message::Message,
     transport::smtp::{
         authentication::Credentials,
-        client::{Tls, TlsParameters},
         SmtpTransport,
     },
     Transport,
@@ -15,14 +14,7 @@ pub fn get_mailer(config: &Config) -> anyhow::Result<S
         config.smtp.password.to_string(),
     );
 
-    // TODO: allow TLS, specify via config?
-    // https://todo.sr.ht/~witcher/rss-email/8
-    let tls = TlsParameters::builder(config.smtp.server.to_string())
-        .dangerous_accept_invalid_certs(true)
-        .build()?;
-
     let mailer = SmtpTransport::relay(&config.smtp.server)?
-        .tls(Tls::Opportunistic(tls))
         .credentials(creds)
         .port(config.smtp.port)
         .build();
blob - 3e3c0785340d6941347d6763d076362cb20d4381
blob + 9ea9a0498d0ccb417849f6b9114dacbb4590bf26
--- src/main.rs
+++ src/main.rs
@@ -61,15 +61,14 @@ fn main() -> anyhow::Result<()> {
     let results = posts
         .filter(sent.eq(false))
         .order(pub_date.desc())
-        .limit(5)
         .load::<models::Post>(&conn)?;
 
-    send_posts(&config, results, args.dry_run)?;
+    send_posts(&conn, &config, results, args.dry_run)?;
 
     Ok(())
 }
 
-fn send_posts(config: &Config, items: Vec<models::Post>, dry_run: bool) -> anyhow::Result<()> {
+fn send_posts(conn: &SqliteConnection, config: &Config, items: Vec<models::Post>, dry_run: bool) -> anyhow::Result<()> {
     let mailer = get_mailer(config)?;
     for mut post in items {
         if !dry_run {
@@ -80,8 +79,8 @@ fn send_posts(config: &Config, items: Vec<models::Post
             send_email(config, subject, body, &mailer)?;
         }
         post.sent = true;
+        diesel::update(schema::posts::dsl::posts.find(post.guid)).set(sent.eq(true)).execute(conn)?;
     }
-    // TODO: mark posts as sent in database, too
 
     Ok(())
 }