python发送邮件接收邮件示例分享
接收邮件
代码如下:
import poplib,pdb,email,re,time
from email import header
POP_ADDR = r'pop.126.com'
USER = ''
PASS = ''
CONFIG = ''
def getYear(date):
rslt = re.search(r'\b2\d{3}\b', date)
return int(rslt.group())
def getMonth(date):
monthMap = {'Jan':1,'Feb':2,'Mar':3,'Apr':4,'May':5,'Jun':6,
'Jul':7,'Aug':8,'Sep':9,'Oct':10,'Nov':11,'Dec':12,}
rslt = re.findall(r'\b\w{3}\b', date)
for i in range(len(rslt)):
month = monthMap.get(rslt[i])
if None != month:
break
return month
def getDay(date):
rslt = re.search(r'\b\d{1,2}\b', date)
return int(rslt.group())
def getTime(date):
rslt = re.search(r'\b\d{2}:\d{2}:\d{2}\b', date)
timeList = rslt.group().split(':')
for i in range(len(timeList)):
timeList[i] = int(timeList[i])
return timeList
def transformDate(date):
rslt = getYear(date)
rslt = rslt * 100
rslt = rslt + getMonth(date)
rslt = rslt * 100
rslt = rslt + getDay(date)
timeList = getTime(date)
for i in range(len(timeList)):
rslt = rslt * 100
rslt = rslt + timeList[i]
print(rslt)
return rslt
def getRecentReadMailTime():
fp = open(CONFIG, 'r')
rrTime = fp.read()
fp.close()
return rrTime
def setRecentReadMailTime():
fp = open(CONFIG, 'w')
fp.write(time.ctime())
fp.close()
return
def parseMailSubject(msg):
subSrt = msg.get('subject')
if None == subSrt:
subject = '无主题'
else:
subList = header.decode_header(subSrt)
subinfo = subList[0][0]
subcode = subList[0][1]
if isinstance(subinfo,bytes):
subject = subinfo.decode(subcode)
else:
subject = subinfo
print(subject)
def parseMailContent(msg):
if msg.is_multipart():
for part in msg.get_payload():
parseMailContent(part)
else:
bMsgStr = msg.get_payload(decode=True)
charset = msg.get_param('charset')
msgStr = 'Decode Failed'
try:
if None == charset:
msgStr = bMsgStr.decode()
else:
msgStr = bMsgStr.decode(charset)
except:
pass
print(msgStr)
def recvEmail():
server = poplib.POP3(POP_ADDR)
server.user(USER)
server.pass_(PASS)
mailCount,size = server.stat()
mailNoList = list(range(mailCount))
mailNoList.reverse()
hisTime = transformDate(getRecentReadMailTime())
setRecentReadMailTime()
#pdb.set_trace()
for i in mailNoList:
message = server.retr(i+1)[1]
mail = email.message_from_bytes(b'\n'.join(message))
if transformDate(mail.get('Date')) > hisTime:
parseMailSubject(mail)
#parseMailContent(mail)
else:
break
recvEmail()
发送邮件:
代码如下:
import os,pdb,smtplib,time,mimetypes
from email.header import Header
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.audio import MIMEAudio
from email.mime.image import MIMEImage
COMMASPACE = ','
SONG_PATH = r''
RECORD_FILE = ''
PIC_PATH = ''
CC = []
TO = []
ME = ''
SMTP_SERVER = 'smtp.126.com'
USER = ''
PASS = ''
def constructAddr(addrList):
return COMMASPACE.join(addrList)
def willChooseThisMedia(media, path):
fp = open(path + RECORD_FILE, 'r')
shareInfo = fp.read()
fp.close()
shareInfoList = shareInfo.split('\n')
if media not in shareInfoList:
fp = open(path + RECORD_FILE, 'a')
fp.write(media + '\n')
fp.close()
return True
else:
return False
def getTodayMedia(path):
mediaList = os.listdir(path)
for media in mediaList:
if False == os.path.isfile(path + media):
continue
else:
if (media.endswith('mp3') or media.lower().endswith('jpg')) and\
willChooseThisMedia(media, path):
return media
def getMIMEImage(pic):
fp = open(PIC_PATH + pic, 'rb')
imageType = mimetypes.guess_type(PIC_PATH + pic)
image = MIMEImage(fp.read(),imageType[0].split('/')[1])
fp.close()
image.add_header('Content-Disposition', 'attachment')
image.set_param('filename', pic, header = 'Content-Disposition', charset = 'gb2312')
return image
def getMIMEAudio(song):
fp = open(SONG_PATH + song, 'rb')
audioType = mimetypes.guess_type(SONG_PATH + song)
audio = MIMEAudio(fp.read(),audioType[0].split('/')[1])
fp.close()
audio.add_header('Content-Disposition', 'attachment')
audio.set_param('filename', song, header = 'Content-Disposition', charset = 'gb2312')
return audio
def constructMail():
mail = MIMEMultipart()
song = getTodayMedia(SONG_PATH)
pic = getTodayMedia(PIC_PATH)
mailSubject = Header('今日分享 | ' + song, 'utf-8')
mailDate = Header(time.ctime())
mail['subject'] = mailSubject
mail['date'] = mailDate
mail['to'] = constructAddr(TO)
mail['cc'] = constructAddr(CC)
mail['from'] = ME
mailBody = MIMEText(song, _charset='gb2312')
mail.attach(mailBody)
mail.attach(getMIMEAudio(song))
mail.attach(getMIMEImage(pic))
return mail
def sendMail():
session = smtplib.SMTP(SMTP_SERVER)
session.login(USER,PASS)
mail = constructMail()
session.sendmail(ME, constructAddr(TO), mail.as_string())
session.quit()
sendMail()

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 개발 실습: PHPMailer를 사용하여 MySQL 데이터베이스의 사용자에게 이메일 보내기 소개: 현대 인터넷 구축에서 이메일은 중요한 통신 도구입니다. 전자상거래에서 회원가입, 비밀번호 재설정, 주문확인 등 이메일 발송은 필수적인 기능입니다. 이 기사에서는 PHPMailer를 사용하여 이메일을 보내고 이메일 정보를 MySQL 데이터베이스의 사용자 정보 테이블에 저장하는 방법을 소개합니다. 1. PHPMailer 라이브러리를 설치하십시오. PHPMailer는

웹 애플리케이션에서는 한 번에 여러 수신자에게 이메일을 보내야 하는 경우가 많습니다. PHP는 매우 널리 사용되는 웹 개발 언어이고 PHPMailer는 이메일 전송을 위한 일반적인 PHP 클래스 라이브러리입니다. PHPMailer는 풍부한 인터페이스를 제공하여 PHP 애플리케이션에서 이메일을 보다 편리하고 쉽게 보낼 수 있도록 해줍니다. 이 기사에서는 PHPMailer를 사용하여 여러 수신자에게 이메일을 보내는 방법과 단계를 소개합니다. PHPMailer를 다운로드하려면 먼저 공식 웹사이트(

Flask-Mail을 사용하여 이메일을 보내는 방법 인터넷이 발달하면서 이메일은 사람들이 의사소통을 하는 중요한 도구가 되었습니다. 웹 애플리케이션을 개발할 때 사용자가 성공적으로 등록한 후 환영 이메일을 보내거나 사용자가 비밀번호를 잊어버린 경우 비밀번호 재설정 이메일을 보내는 등 특정 시나리오에서 이메일을 보내야 하는 경우가 있습니다. Flask는 간단하고 유연한 Python 웹 프레임워크이고, Flask-Mail은 Flask 프레임워크에서 이메일을 보내기 위한 확장 라이브러리입니다.

Python은 Alibaba Cloud 인터페이스에 연결하여 이메일 전송 기능을 구현합니다. Alibaba Cloud는 이메일 전송 서비스를 포함한 일련의 서비스 인터페이스를 제공합니다. Python 스크립트를 통해 Alibaba Cloud 인터페이스에 연결하면 이메일을 빠르게 보낼 수 있습니다. 이 기사에서는 Python 스크립트를 사용하여 Alibaba Cloud 인터페이스에 연결하고 이메일 전송 기능을 구현하는 방법을 보여줍니다. 먼저 Alibaba Cloud에서 이메일 전송 서비스를 신청하고 해당 인터페이스 정보를 얻어야 합니다. Alibaba Cloud 관리 콘솔에서 이메일 푸시 서비스를 선택하고 새 이메일을 생성하세요.

PHP 대기열을 사용하여 메일을 보내는 방법은 무엇입니까? 현대 웹 개발에서는 많은 양의 이메일을 보내야 하는 경우가 많습니다. 다수의 사용자에게 대량 이메일을 보내든, 사용자 행동에 따라 개인화된 이메일을 보내든, 대기열을 사용하여 이메일을 보내는 것은 좋은 방법입니다. 대기열은 이메일 전송의 효율성과 안정성을 향상시키고, 너무 많은 이메일 전송으로 인한 과도한 서버 로드를 방지하며, 전송 실패 시나리오를 처리하는 데 도움이 될 수 있습니다. PHP 개발에서는 Rab과 같은 일반적인 대기열 도구를 사용할 수 있습니다.

Python3.x에서 poplib 모듈을 사용하여 이메일을 받는 방법 이메일은 사람들이 일상생활이나 직장에서 자주 사용하는 의사소통 방법입니다. Python에서는 poplib 모듈을 사용하여 이메일을 받을 수 있습니다. poplib 모듈은 메일 서버 연결, 메일 가져오기, 메일 삭제 등을 위한 일련의 방법을 제공합니다. 이 기사에서는 poplib 모듈을 사용하여 이메일을 수신하고 해당 코드 예제를 첨부하는 방법을 소개합니다. poplib 모듈을 설치하고 poplib 모듈을 사용하십시오.

인터넷의 지속적인 발전과 대중화로 인해 이메일은 사람들의 일상 커뮤니케이션에서 없어서는 안 될 부분이 되었습니다. 웹사이트 백엔드 개발 과정에서 이메일 알림, 등록 확인 등의 기능을 충족하기 위해 PHP를 사용하여 이메일을 보내야 하는 경우가 많습니다. PHP는 이메일을 보내기 위한 email() 함수를 제공하며 사용이 매우 간단합니다. 이 기사에서는 PHP의 email() 함수를 사용하여 이메일을 보내는 방법을 자세히 소개합니다. 1. SMTP 구성 email() 함수를 사용하여 이메일을 보내기 전에 SMTP 구성이 필요합니다.

PHP의 메일 기능을 사용하여 이메일을 보내는 전체 과정 인터넷 기술이 발전하면서 이메일을 보내고 받는 일은 사람들에게 필수적인 업무이자 생활 방식이 되었습니다. 웹사이트 개발에 있어서 이메일을 통한 각종 알림, 인증, 등록 등을 수행해야 하는 경우가 많습니다. 이 기사에서는 PHP의 메일 기능을 사용하여 이메일을 보내는 전체 프로세스를 소개합니다. 1. 메일 함수의 기본 형태 PHP에서 이메일을 보내는 데 사용되는 함수는 mail()입니다.
