Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _update_settings_from_kwargs(
self,
hostname: Optional[Union[str, Default]] = _default,
port: Optional[Union[int, Default]] = _default,
username: Optional[Union[str, Default]] = _default,
password: Optional[Union[str, Default]] = _default,
source_address: Optional[Union[str, Default]] = _default,
timeout: Optional[Union[float, Default]] = _default,
loop: Optional[Union[asyncio.AbstractEventLoop, Default]] = _default,
use_tls: Optional[bool] = None,
start_tls: Optional[bool] = None,
validate_certs: Optional[bool] = None,
client_cert: Optional[Union[str, Default]] = _default,
client_key: Optional[Union[str, Default]] = _default,
tls_context: Optional[Union[ssl.SSLContext, Default]] = _default,
cert_bundle: Optional[Union[str, Default]] = _default,
socket_path: Optional[Union[SocketPathType, Default]] = _default,
sock: Optional[Union[socket.socket, Default]] = _default,
) -> None:
"""Update our configuration from the kwargs provided.
This method can be called multiple times.
"""
if hostname is not _default:
hostname: Optional[Union[str, Default]] = _default,
port: Optional[Union[int, Default]] = _default,
username: Optional[Union[str, Default]] = _default,
password: Optional[Union[str, Default]] = _default,
source_address: Optional[Union[str, Default]] = _default,
timeout: Optional[Union[float, Default]] = _default,
loop: Optional[Union[asyncio.AbstractEventLoop, Default]] = _default,
use_tls: Optional[bool] = None,
start_tls: Optional[bool] = None,
validate_certs: Optional[bool] = None,
client_cert: Optional[Union[str, Default]] = _default,
client_key: Optional[Union[str, Default]] = _default,
tls_context: Optional[Union[ssl.SSLContext, Default]] = _default,
cert_bundle: Optional[Union[str, Default]] = _default,
socket_path: Optional[Union[SocketPathType, Default]] = _default,
sock: Optional[Union[socket.socket, Default]] = _default,
) -> None:
"""Update our configuration from the kwargs provided.
This method can be called multiple times.
"""
if hostname is not _default:
self.hostname = hostname
if loop is not _default:
if loop is not None:
warnings.warn(
"Passing an event loop via the loop keyword argument is deprecated."
" It will be removed in version 2.0.",
DeprecationWarning,
stacklevel=3,
)
self.loop = loop
async def _send_recipients(
self,
recipients: Sequence[str],
options: Iterable[str],
encoding: str = "ascii",
timeout: Optional[Union[float, Default]] = _default,
) -> Dict[str, SMTPResponse]:
"""
Send the recipients given to the server. Used as part of
:meth:`.sendmail`.
"""
recipient_errors = []
for address in recipients:
try:
await self.rcpt(
address, options=options, encoding=encoding, timeout=timeout
)
except SMTPRecipientRefused as exc:
recipient_errors.append(exc)
if len(recipient_errors) == len(recipients):
raise SMTPRecipientsRefused(recipient_errors)
def _update_settings_from_kwargs(
self,
hostname: Optional[Union[str, Default]] = _default,
port: Optional[Union[int, Default]] = _default,
username: Optional[Union[str, Default]] = _default,
password: Optional[Union[str, Default]] = _default,
source_address: Optional[Union[str, Default]] = _default,
timeout: Optional[Union[float, Default]] = _default,
loop: Optional[Union[asyncio.AbstractEventLoop, Default]] = _default,
use_tls: Optional[bool] = None,
start_tls: Optional[bool] = None,
validate_certs: Optional[bool] = None,
client_cert: Optional[Union[str, Default]] = _default,
client_key: Optional[Union[str, Default]] = _default,
tls_context: Optional[Union[ssl.SSLContext, Default]] = _default,
cert_bundle: Optional[Union[str, Default]] = _default,
socket_path: Optional[Union[SocketPathType, Default]] = _default,
sock: Optional[Union[socket.socket, Default]] = _default,
) -> None:
"""Update our configuration from the kwargs provided.
This method can be called multiple times.
"""
def _update_settings_from_kwargs(
self,
hostname: Optional[Union[str, Default]] = _default,
port: Optional[Union[int, Default]] = _default,
username: Optional[Union[str, Default]] = _default,
password: Optional[Union[str, Default]] = _default,
source_address: Optional[Union[str, Default]] = _default,
timeout: Optional[Union[float, Default]] = _default,
loop: Optional[Union[asyncio.AbstractEventLoop, Default]] = _default,
use_tls: Optional[bool] = None,
start_tls: Optional[bool] = None,
validate_certs: Optional[bool] = None,
client_cert: Optional[Union[str, Default]] = _default,
client_key: Optional[Union[str, Default]] = _default,
tls_context: Optional[Union[ssl.SSLContext, Default]] = _default,
cert_bundle: Optional[Union[str, Default]] = _default,
socket_path: Optional[Union[SocketPathType, Default]] = _default,
sock: Optional[Union[socket.socket, Default]] = _default,
) -> None:
"""Update our configuration from the kwargs provided.
This method can be called multiple times.
"""
if hostname is not _default:
self.hostname = hostname
self,
hostname: Optional[Union[str, Default]] = _default,
port: Optional[Union[int, Default]] = _default,
username: Optional[Union[str, Default]] = _default,
password: Optional[Union[str, Default]] = _default,
source_address: Optional[Union[str, Default]] = _default,
timeout: Optional[Union[float, Default]] = _default,
loop: Optional[Union[asyncio.AbstractEventLoop, Default]] = _default,
use_tls: Optional[bool] = None,
start_tls: Optional[bool] = None,
validate_certs: Optional[bool] = None,
client_cert: Optional[Union[str, Default]] = _default,
client_key: Optional[Union[str, Default]] = _default,
tls_context: Optional[Union[ssl.SSLContext, Default]] = _default,
cert_bundle: Optional[Union[str, Default]] = _default,
socket_path: Optional[Union[SocketPathType, Default]] = _default,
sock: Optional[Union[socket.socket, Default]] = _default,
) -> None:
"""Update our configuration from the kwargs provided.
This method can be called multiple times.
"""
if hostname is not _default:
self.hostname = hostname
if loop is not _default:
if loop is not None:
warnings.warn(
"Passing an event loop via the loop keyword argument is deprecated."
" It will be removed in version 2.0.",
DeprecationWarning,
stacklevel=3,
)
async def login(
self,
username: str,
password: str,
timeout: Optional[Union[float, Default]] = _default,
) -> SMTPResponse:
"""
Tries to login with supported auth methods.
Some servers advertise authentication methods they don't really
support, so if authentication fails, we continue until we've tried
all methods.
"""
await self._ehlo_or_helo_if_needed()
if not self.supports_extension("auth"):
raise SMTPException("SMTP AUTH extension not supported by server.")
response = None # type: Optional[SMTPResponse]
exception = None # type: Optional[SMTPAuthenticationError]
for auth_name in self.supported_auth_methods:
def _update_settings_from_kwargs(
self,
hostname: Optional[Union[str, Default]] = _default,
port: Optional[Union[int, Default]] = _default,
username: Optional[Union[str, Default]] = _default,
password: Optional[Union[str, Default]] = _default,
source_address: Optional[Union[str, Default]] = _default,
timeout: Optional[Union[float, Default]] = _default,
loop: Optional[Union[asyncio.AbstractEventLoop, Default]] = _default,
use_tls: Optional[bool] = None,
start_tls: Optional[bool] = None,
validate_certs: Optional[bool] = None,
client_cert: Optional[Union[str, Default]] = _default,
client_key: Optional[Union[str, Default]] = _default,
tls_context: Optional[Union[ssl.SSLContext, Default]] = _default,
cert_bundle: Optional[Union[str, Default]] = _default,
socket_path: Optional[Union[SocketPathType, Default]] = _default,
sock: Optional[Union[socket.socket, Default]] = _default,
) -> None:
"""Update our configuration from the kwargs provided.
This method can be called multiple times.
"""
if hostname is not _default:
self.hostname = hostname
if loop is not _default:
if loop is not None:
warnings.warn(
"Passing an event loop via the loop keyword argument is deprecated."
" It will be removed in version 2.0.",