@@ -2,12 +2,13 @@ use dotenv::dotenv;
2
2
use std:: env;
3
3
use std:: path:: Path ;
4
4
use util:: { bad_request, CargoResult } ;
5
- use lettre:: email:: { Email , EmailBuilder } ;
6
- use lettre:: transport:: file:: FileEmailTransport ;
7
- use lettre:: transport:: EmailTransport ;
8
- use lettre:: transport:: smtp:: { SecurityLevel , SmtpTransportBuilder } ;
9
- use lettre:: transport:: smtp:: SUBMISSION_PORT ;
10
- use lettre:: transport:: smtp:: authentication:: Mechanism ;
5
+
6
+ use lettre:: file:: FileEmailTransport ;
7
+ use lettre:: EmailTransport ;
8
+ use lettre:: smtp:: SmtpTransport ;
9
+ use lettre:: smtp:: authentication:: { Credentials , Mechanism } ;
10
+
11
+ use lettre_email:: { Email , EmailBuilder } ;
11
12
12
13
#[ derive( Debug ) ]
13
14
pub struct MailgunConfigVars {
@@ -60,20 +61,21 @@ pub fn send_email(recipient: &str, subject: &str, body: &str) -> CargoResult<()>
60
61
61
62
match mailgun_config {
62
63
Some ( mailgun_config) => {
63
- let mut transport =
64
- SmtpTransportBuilder :: new ( ( mailgun_config. smtp_server . as_str ( ) , SUBMISSION_PORT ) ) ?
65
- . credentials ( & mailgun_config. smtp_login , & mailgun_config. smtp_password )
66
- . security_level ( SecurityLevel :: AlwaysEncrypt )
67
- . smtp_utf8 ( true )
68
- . authentication_mechanism ( Mechanism :: Plain )
69
- . build ( ) ;
64
+ let mut transport = SmtpTransport :: simple_builder ( mailgun_config. smtp_server ) ?
65
+ . credentials ( Credentials :: new (
66
+ mailgun_config. smtp_login ,
67
+ mailgun_config. smtp_password ,
68
+ ) )
69
+ . smtp_utf8 ( true )
70
+ . authentication_mechanism ( Mechanism :: Plain )
71
+ . build ( ) ;
70
72
71
- let result = transport. send ( email. clone ( ) ) ;
73
+ let result = transport. send ( & email) ;
72
74
result. map_err ( |_| bad_request ( "Error in sending email" ) ) ?;
73
75
}
74
76
None => {
75
77
let mut sender = FileEmailTransport :: new ( Path :: new ( "/tmp" ) ) ;
76
- let result = sender. send ( email. clone ( ) ) ;
78
+ let result = sender. send ( & email) ;
77
79
result. map_err ( |_| bad_request ( "Email file could not be generated" ) ) ?;
78
80
}
79
81
}
0 commit comments