Simple Mail Transfer Protocol (SMTP) é usado como um protocolo para lidar com a transferência de e-mail usando Python. É usado para rotear emails entre servidores de email. É um protocolo da camada de aplicação que permite aos usuários enviar mensagens para outros. O destinatário recupera e-mail usando os protocolos POP (Protocolo Postal) e IMAP (protocolo de acesso a mensagens da Internet) .
Quando o servidor escuta a conexão TCP de um cliente, ele inicia uma conexão na porta 587.
Python fornece um smtplib módulo, que define um objeto de sessão do cliente SMTP usado para enviar e-mails para uma máquina da Internet. Para isso, temos que importar o smtplib módulo usando a instrução import.
$ import smtplib
O objeto SMTP é usado para transferência de email. A sintaxe a seguir é usada para criar o objeto smtplib.
import smtplib smtpObj = smtplib.SMTP(host, port, local_hostname)
Ele aceita os seguintes parâmetros.
O método sendmail() do objeto SMTP é usado para enviar o email para a máquina desejada. A sintaxe é fornecida abaixo.
algoritmos de pesquisa binária
smtpObj.sendmail(sender, receiver, message)
Exemplo
#!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s Subject: Sending SMTP e-mail This is a test e-mail message. '''%(sender_mail,receivers_mail) try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email')
Enviando e-mail do Gmail
Há casos em que os e-mails são enviados através do servidor SMTP do Gmail. Neste caso, podemos passar o Gmail como servidor SMTP em vez de usar o localhost com a porta 587.
Use a seguinte sintaxe.
$ smtpObj = smtplib.SMTP('gmail.com', 587)
Aqui, precisamos fazer login na conta do Gmail usando o nome de usuário e a senha do Gmail. Para tanto, o smtplib disponibiliza o método login(), que aceita o nome de usuário e senha do remetente.
Isso pode fazer com que seu Gmail solicite acesso a aplicativos menos seguros se você estiver usando o Gmail. Você precisará ativar isso temporariamente para que funcione.
Considere o seguinte exemplo.
Exemplo
#!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s Subject: Sending SMTP e-mail This is a test e-mail message. '''%(sender_mail,receivers_mail) try: password = input('Enter the password'); smtpObj = smtplib.SMTP('gmail.com',587) smtpobj.login(sender_mail,password) smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email')
Enviando HTML por e-mail
Podemos formatar o HTML na mensagem especificando a versão MIME, o tipo de conteúdo e o conjunto de caracteres para enviar o HTML.
Considere o seguinte exemplo.
comprimento da string java
Exemplo
#!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s MIME-Version:1.0 Content-type:text/html Subject: Sending SMTP e-mail <h3>Python SMTP</h3> <strong>This is a test e-mail message.</strong> '''%(sender_mail,receivers_mail) try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email')