@@ -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 {
@@ -61,19 +62,18 @@ pub fn send_email(recipient: &str, subject: &str, body: &str) -> CargoResult<()>
61
62
match mailgun_config {
62
63
Some ( mailgun_config) => {
63
64
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 )
65
+ SmtpTransport :: simple_builder ( mailgun_config. smtp_server ) ?
66
+ . credentials ( Credentials :: new ( mailgun_config. smtp_login , mailgun_config. smtp_password ) )
67
67
. smtp_utf8 ( true )
68
68
. authentication_mechanism ( Mechanism :: Plain )
69
69
. build ( ) ;
70
70
71
- let result = transport. send ( email. clone ( ) ) ;
71
+ let result = transport. send ( & email) ;
72
72
result. map_err ( |_| bad_request ( "Error in sending email" ) ) ?;
73
73
}
74
74
None => {
75
75
let mut sender = FileEmailTransport :: new ( Path :: new ( "/tmp" ) ) ;
76
- let result = sender. send ( email. clone ( ) ) ;
76
+ let result = sender. send ( & email) ;
77
77
result. map_err ( |_| bad_request ( "Email file could not be generated" ) ) ?;
78
78
}
79
79
}
0 commit comments