Python3 메일 보내기

1656 단어
테스트 시 사용할 수 있는 메일 코드:
import smtplib
from email.mime.text import MIMEText
  
#     SMTP   
mail_host = "smtp.163.com"  # SMTP   
mail_user = "username"  #    
mail_pass = "passwd"  #   (             ,     )
  
sender = '[email protected]'  #      
receivers = ['[email protected]']  #      
  
  
content = 'Python Send Mail !'
title = 'Python SMTP Mail Test'  #     
message = MIMEText(content, 'plain', 'utf-8')  #   ,   ,   
message['From'] = "{}".format(sender)
message['To'] = ",".join(receivers)
message['Subject'] = title
  
try:
    smtpObj = smtplib.SMTP_SSL(mail_host, 465)  #   SSL  ,      465
    smtpObj.login(mail_user, mail_pass)  #     
    smtpObj.sendmail(sender, receivers, message.as_string())  #   
    print("mail has been send successfully.")
except smtplib.SMTPException as e:
    print(e)

  
문제 해결 및 참고 사항:
1. 오류 보고: Error: A secure connection is requiered (such as ssl)
해결: 메일박스 SSL 검증 문제로 smtplib.SMTP () 를 smtplib으로 변경합니다.SMTP_SSL(), 포트 번호 465
2. 오류 보고: 535, b'Error: authentication failed'
해결: 사용자 이름이 정확하지 않기 때문에 코드의 사용자 이름은 메일 주소@ 앞부분이나 메일에 설정된 계정 닉네임으로 작성해야 합니다. 아래 닉네임 모닝과 모자이크 부분은 모두 사용자 이름으로 사용할 수 있습니다.
 
3. SMTP 서버는 보내는 메일박스에 따라 선택할 수 있으며, 코드에서 163 메일박스를 사용하면 mailhost = "smtp.163.com"  
smtp.126.com, smtp.qq.com 등등
4. 코드의 암호 mailpass는 인증 코드로 메일박스 비밀번호가 아닙니다. 인증 코드는 제3자 메일 클라이언트에 로그인하는 전용 비밀번호입니다.
QQ메일박스는 설정→계좌→권한 수여 코드를 생성할 수 있다.왕이사서함 126/163은 설정→클라이언트 인증 비밀번호로 가능

좋은 웹페이지 즐겨찾기