Fail dalam format txt atau word, tetapi lampiran perlu dihantar dalam format pdf Adakah terdapat sebarang parameter yang boleh ditetapkan dalam smpt saya tetapkan _subtype="pdf", dan akhirnya ralat akan dilaporkan semasa membuka lampiran, mengatakan bahawa ia bukan fail pdf , tidak boleh dibuka
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
import traceback
import os
server=smtplib.SMTP()
server.connect("smtp.163.com")
server.login("XXXXXX@163.com","YYYYYY")
msg=MIMEMultipart('')
msg['From']="XXXXXX@163.com"
msg['Subject']="opp"
part = MIMEApplication(open("D:\log.txt", 'rb').read(),_subtype='pdf')
#filetype="pdf"
filetype = os.path.splitext("D:\log.txt")[-1][1:]
newfilename = 'resume' + '.' + filetype
part.add_header('Content-Disposition', 'attachment', filename=newfilename)
msg.attach(part)
msg['To']="TTTTTT@163.com"
server.send_message(msg)
Penyelesaian
Jika anda terus menukar jenis fail kepada pdf, fail itu juga akan melaporkan ralat
SMTP ialah protokol yang anda gunakan untuk menghantar e-mel yang lengkap, jenis MIME ialah jenis kandungan lampiran seperti yang diisytiharkan dalam e-mel dan jenis kandungan sebenar yang dimiliki oleh fail. Jika anda ingin menghantar fail dokumen sebagai pdf, anda perlu menukarnya terlebih dahulu.