Browse Source
			
			
			Merge pull request #901 from sleweke/feature/opportunistic_tls
			
				Use opportunistic TLS in SMTP connections
			
			
				pull/906/head
			
			
		 
		
			
				
					
						
						Daniel García
					
					6 years ago
					
						
							committed by
							
								
								GitHub
							
						 
					
				 
				
			 
		 
		
			
				
					
					No known key found for this signature in database
					
						
							GPG Key ID: 4AEE18F83AFDEB23
						
					
				
			
		
		
		
	
		
			
				 1 changed files with 
9 additions and 
9 deletions
			 
			
		 
		
			
				- 
					
					
					 
					src/mail.rs
				
 
			
		
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -18,21 +18,21 @@ use chrono::NaiveDateTime; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					fn mailer() -> SmtpTransport { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    let host = CONFIG.smtp_host().unwrap(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    let client_security = if CONFIG.smtp_ssl() { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        let tls = TlsConnector::builder() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            .min_protocol_version(Some(Protocol::Tlsv11)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            .build() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            .unwrap(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    let tls = TlsConnector::builder() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        .min_protocol_version(Some(Protocol::Tlsv11)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        .build() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        .unwrap(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        let params = ClientTlsParameters::new(host.clone(), tls); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    let tls_params = ClientTlsParameters::new(host.clone(), tls); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    let client_security = if CONFIG.smtp_ssl() { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if CONFIG.smtp_explicit_tls() { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            ClientSecurity::Wrapper(params) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            ClientSecurity::Wrapper(tls_params) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            ClientSecurity::Required(params) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            ClientSecurity::Required(tls_params) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ClientSecurity::None | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ClientSecurity::Opportunistic(tls_params) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    }; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    use std::time::Duration; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |