Gmail 및 Python을 사용하여 메일을 보낼 때 SMTPAuthenticationError
이 질문에 이미 답변이 있습니다.
gmail을 사용하여 메일을 보내려고 할 때 Python 오류가 발생했습니다.이 유형의 질문은 이미이 사이트에 있지만 도움이되지 않습니다.
gmail_user = "me@gmail.com"
gmail_pwd = "password"
TO = 'friend@gmail.com'
SUBJECT = "Testing sending using gmail"
TEXT = "Testing sending mail using gmail servers"
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(gmail_user, gmail_pwd)
BODY = '\r\n'.join(['To: %s' % TO,
'From: %s' % gmail_user,
'Subject: %s' % SUBJECT,
'', TEXT])
server.sendmail(gmail_user, [TO], BODY)
print ('email sent')
오류:
server.login(gmail_user, gmail_pwd)
File "/usr/lib/python3.4/smtplib.py", line 639, in login
raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (534, b'5.7.14
<https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbtl1\n5.7.14 Li2yir27TqbRfvc02CzPqZoCqope_OQbulDzFqL-msIfsxObCTQ7TpWnbxIoAaQoPuL9ge\n5.7.14 BUgbiOqhTEPqJfb02d_L6rrdduHSxv26s_Ztg_JYYavkrqgs85IT1xZYwtbWIRE8OIvQKf\n5.7.14 xxtT7ENlZTS0Xyqnc1u4_MOrBVW8pgyNyeEgKKnKNyxce76JrsdnE1JgSQzr3pr47bL-kC\n5.7.14 XifnWXg> Please log in via your web browser and then try again.\n5.7.14 Learn more at\n5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 fl15sm17237099pdb.92 - gsmtp')
코드가 올바른 것 같습니다. 브라우저를 통해 로그인하고 계정에 액세스 할 수있는 경우 다시 돌아와 코드를 다시 시도하십시오. 사용자 이름과 비밀번호를 올바르게 입력했는지 확인하십시오.
수정 : Google은 최신 보안 표준을 사용하지 않는 앱의 로그인 시도를 차단합니다 (지원 페이지 에 언급 됨 ). 그러나 아래 링크로 이동하여이 안전 기능을 켜거나 끌 수 있습니다.
이 링크로 이동하여 https://www.google.com/settings/security/lesssecureapps 켜기를 선택합니다.
코드는 정확 해 보이지만 비정상적인 위치에서 이메일을 보내려고 할 때 가끔 Google이 IP를 차단하므로 다음 링크에서 차단을 해제 할 수 있습니다.
https://support.google.com/accounts/answer/6009563 및 accounts.google.com/DisplayUnlockCaptcha에서 클릭했습니다.
방금 Python을 통해 Gmail로 이메일을 보냈습니다. smtplib.SMTP_SSL을 사용하여 연결해보십시오. 또한 Gmail 도메인 및 포트를 변경하려고 할 수 있습니다.
따라서 다음과 같은 기회를 얻을 수 있습니다.
server = smtplib.SMTP_SSL('smtp.googlemail.com', 465)
server.login(gmail_user, password)
server.sendmail(gmail_user, TO, BODY)
플러스로 이메일 내장 모듈을 확인할 수 있습니다. 이러한 방식으로 코드의 가독성을 높이고 이메일 헤더를 쉽게 처리 할 수 있습니다.
'Programing' 카테고리의 다른 글
객체의 모든 속성이 null인지 비어 있는지 확인하는 방법은 무엇입니까? (0) | 2020.12.08 |
---|---|
Caret 패키지를 사용하지만 라이브러리에서 오류가 발생 함 (e1071) (0) | 2020.12.08 |
왜 ;; (0) | 2020.12.08 |
Watchkit 확장-일치하는 프로비저닝 프로파일이 없습니다. (0) | 2020.12.08 |
django.db.utils.ProgrammingError : 관계가 이미 있습니다. (0) | 2020.12.08 |