fix: use builder_dangerous for port 25 (local Stalwart), starttls_relay for 465/587
All checks were successful
BotServer CI/CD / build (push) Successful in 4m53s
All checks were successful
BotServer CI/CD / build (push) Successful in 4m53s
This commit is contained in:
parent
61ae0cac82
commit
f8e3b34a8a
1 changed files with 16 additions and 8 deletions
|
|
@ -353,16 +353,20 @@ impl EmailService {
|
||||||
.body(body.to_string())
|
.body(body.to_string())
|
||||||
.map_err(|e| format!("Failed to build email: {}", e))?;
|
.map_err(|e| format!("Failed to build email: {}", e))?;
|
||||||
|
|
||||||
let mailer = if !smtp_user.is_empty() && !smtp_pass.is_empty() {
|
let mailer = if smtp_port == 465 {
|
||||||
|
SmtpTransport::starttls_relay(&smtp_host)
|
||||||
|
.map_err(|e| format!("SMTP relay error: {}", e))?
|
||||||
|
.port(smtp_port)
|
||||||
|
.build()
|
||||||
|
} else if !smtp_user.is_empty() && !smtp_pass.is_empty() {
|
||||||
let creds = Credentials::new(smtp_user, smtp_pass);
|
let creds = Credentials::new(smtp_user, smtp_pass);
|
||||||
SmtpTransport::relay(&smtp_host)
|
SmtpTransport::starttls_relay(&smtp_host)
|
||||||
.map_err(|e| format!("SMTP relay error: {}", e))?
|
.map_err(|e| format!("SMTP relay error: {}", e))?
|
||||||
.port(smtp_port)
|
.port(smtp_port)
|
||||||
.credentials(creds)
|
.credentials(creds)
|
||||||
.build()
|
.build()
|
||||||
} else {
|
} else {
|
||||||
SmtpTransport::relay(&smtp_host)
|
SmtpTransport::builder_dangerous(&smtp_host)
|
||||||
.map_err(|e| format!("SMTP relay error: {}", e))?
|
|
||||||
.port(smtp_port)
|
.port(smtp_port)
|
||||||
.build()
|
.build()
|
||||||
};
|
};
|
||||||
|
|
@ -439,16 +443,20 @@ impl EmailService {
|
||||||
)
|
)
|
||||||
.map_err(|e| format!("Failed to build email: {}", e))?;
|
.map_err(|e| format!("Failed to build email: {}", e))?;
|
||||||
|
|
||||||
let mailer = if !smtp_user.is_empty() && !smtp_pass.is_empty() {
|
let mailer = if smtp_port == 465 {
|
||||||
|
SmtpTransport::starttls_relay(&smtp_host)
|
||||||
|
.map_err(|e| format!("SMTP relay error: {}", e))?
|
||||||
|
.port(smtp_port)
|
||||||
|
.build()
|
||||||
|
} else if !smtp_user.is_empty() && !smtp_pass.is_empty() {
|
||||||
let creds = Credentials::new(smtp_user, smtp_pass);
|
let creds = Credentials::new(smtp_user, smtp_pass);
|
||||||
SmtpTransport::relay(&smtp_host)
|
SmtpTransport::starttls_relay(&smtp_host)
|
||||||
.map_err(|e| format!("SMTP relay error: {}", e))?
|
.map_err(|e| format!("SMTP relay error: {}", e))?
|
||||||
.port(smtp_port)
|
.port(smtp_port)
|
||||||
.credentials(creds)
|
.credentials(creds)
|
||||||
.build()
|
.build()
|
||||||
} else {
|
} else {
|
||||||
SmtpTransport::relay(&smtp_host)
|
SmtpTransport::builder_dangerous(&smtp_host)
|
||||||
.map_err(|e| format!("SMTP relay error: {}", e))?
|
|
||||||
.port(smtp_port)
|
.port(smtp_port)
|
||||||
.build()
|
.build()
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue