메일 보내기 (1)
python은 smtplib 라이브러리를 제공하여 이메일의 발송 기능을 완성하지만,django는 이를 봉인하여 메일을 보내는 인터페이스를 더욱 간단하고 편리하게 만들었습니다.django의 봉인은django에 있습니다.core.mail
빠른 시작
from django.core.mail import send_mail
send_mail(
'Subject here', 'Here is the message.',
'[email protected]',
['[email protected]'], fail_silently=False)
ject here: 메일 제목here is message: 메시지의 내용은 문자열, 간단한 텍스트만 가능합니다. HTMl, 멀티미디어를 보내려면서류는 뒤에 전문적인 소개가 있을 것이다from@examplel: 보낸 사람
[[email protected]]: 메일을 받는 사람, 이것은 여러 사람에게 동시에 보낼 수 있다는 목록입니다.
주의해야 할 것은 메일을 보낼 때 필요한 EMAILHOST , EMAIL_PORT ,EMAIL_HOST_USER , EMAIL_HOST_PASSWORD는 SMTP 서버를 검증하기 위해 settings 설정이 필요합니다.
또 하나 주의해야 할 것은 메일을 보낼 때 내용의 인코딩이다.DEFAULT_CHARSET는 이것으로 결정되며 settings에서도 설정됩니다
send_mail()
send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None,auth_password=None, connection=None)
subject: 메시지 제목
메시지:내용
from_이메일:누가 보낸 메일
recipient_list: 메일을 받는 사람의 목록
fail_silently=False: 이것은 메일을 보낼 때 기본적으로False를 표시하는 데 사용되며, 만약False라면 발송이 실패할 때 smtplib을 던집니다.SMTPException 예외
auth_사용자=None: SMTP 서버의 사용자 이름을 확인하려면 설정 없이settings에 있는
auth_password=None: SMTP 서버의 비밀번호를 검증하기 위해 설정하지 않은 settings의
connection=None: 메일을 보낼 때 사용하는 연결 백엔드를 설정하는데 보통 아무도 움직이지 않습니다.기본적으로django의 메일 발송 백엔드를 사용합니다. 자세한 내용은 Email backends 참조
send_mass_mail()
send_mass_mail(datatuple, fail_silently=False, auth_user=None, auth_password=None,connection=None)
이것은 대규모 우편물을 처리하는 데 쓰인다
데이터tuple 이것은 원조입니다. (), ()), (), 아래와 같습니다.
(subject, message, from_email, recipient_list) ,
다음의 예를 보면 더욱 잘 이해할 수 있다.
message1 =
('Subject here', 'Here is the message', '[email protected]', ['[email protected]', '[email protected]'])
message2 =
('Another Subject', 'Here is another message', '[email protected]', ['[email protected]'])
send_mass_mail((message1, message2), fail_silently=False)
send_mass_mail() 및 sendmail()
이 두 가지 가장 큰 차이는
send_메일 () 을 보내면 SMTP에 한 번 연결된다. 메일을 한 번 보내면 서버를 찾아서 연결을 검증한다는 뜻이다
send_mass_메일()은 위의 예에서 알 수 있듯이 여러 통의 메일이 한꺼번에 발송되어 효율이 더욱 높다.
mail_admins()
mail_admins(subject, message, fail_silently=False, connection=None, html_message=None)
이것은 관리자에게 메일을 빨리 보내는 방법이다
질문이 하나 있는데, 관리자의 메일은 무엇입니까? 어디에 있습니까?
세팅스에 있어요.
ADMINS = (
# ('Your Name', '[email protected]')
)
subject:
여기에는 위에서 말한 것과 차이가 많지 않지만 약간의 차이가 있다. 바로 관리자에게 보내는 메일 테마는 기본 접두사 [django]를 가지고 있고, 당신도 settings에서 EMAIL 을 설정할 수 있다.SUBJECT_PREFIX, 접두사를 설정하세요.
이 함수에from 이 없는 것 같아요.mail, 사실은 있습니다. settings에서SERVER 를 설정합니다.EMAI= “”
제일 중요한 건 이 html메시지: 이 두 값,text/plain,text/html을 사용할 수 있습니다.알겠지, 네가 메일을 보내는 내용이 어떤 텍스트인지, 네가 페이지 테이프 연결, 그림, html 몇 가지를 보내면 그것을 설정해야 해.
mail_managers()
mail_managers(subject, message, fail_silently=False, connection=None,html_message=None)
사실 메일이랑...admins()는 차이가 많지 않다. 바로 누구에게 보내는 질문이다. 이것은 연결이 효력을 잃을 때 한 사람을 지정하고 메일을 보내는 데 두 가지 일을 해야 한다. 하나는 settings에 MANAGERS=(# ('Your Name','your '[email protected]'), 다른 하나는 중간부품 BrokenLink Emails Middleware 사용
다음은 공식 문서의 두 가지 예입니다. 잘 보십시오.
send_mail(
'Subject', 'Message.', '[email protected]',
['[email protected]', '[email protected]']
)
datatuple = (
('Subject', 'Message.', '[email protected]', ['[email protected]']),
('Subject', 'Message.', '[email protected]', ['[email protected]']),
)
send_mass_mail(datatuple)
이상은 간단한text 형식의 메일만 발송할 수 있고,
그 메일 말고...admins() 및 mailmanagers()
html 유형과 파일, 첨부 파일 유형을 보내려면 class Email Message가 필요합니다. 두 번째 부분을 보십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.