메일 보내기 (1)

3925 단어
Django 1.6
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가 필요합니다. 두 번째 부분을 보십시오.

좋은 웹페이지 즐겨찾기