2017-04-20 3 views
0

電子メールを送信する際にcontent-typeを電子メールに混同しています。添付ファイルの種類がcontent-typeに関連しています。何らかの理由で、 "application/octet-stream"を使用してください。 たとえば、「pdf」添付ファイルを送信したいとします。電子メール(SMTP)を送信する際にcontent-typeを選択する必要があります

msg = MIMEMultipart() 
msg['From'] = "" 
msg['Subject'] = "" 
part = MIMEApplication(open(attachment_path, 'rb').read()) 
filetype = os.path.splitext(attachment_path)[-1][1:] 
newfilename = 'resume' + '.' + filetype 
if filetype=="pdf": 
    part["Content-Type"] ="application/pdf" 
elif filetype=="doc" or filetype=="docx": 
    part['Content-Type']="application/msword" 
else: 
    pass 
part.add_header('Content-Disposition', 'attachment', filename=newfilename) 
msg.attach(part) 

INFOMATIONは、以下である:

enter image description here

2つのコンテンツタイプ:SMTPヘッダINFOMATIONとアタッチメントヘッダ? 彼らはお互いに影響を及ぼしますか? "docx" --- application/mswordを使用できますか? この愚かな質問に私を許してください! 助けてくれてありがとう!

答えて

0

SMTPヘッダーは、最も可能性が高いようであろう:

Content-Type: multipart/related; boundary="----=_NextPart_01D2B948.420196F0" 

、メッセージの各部分はこのように、それ自体のコンテキスト・タイプを持っています:ヘッダはお互いに影響を与えない

------=_NextPart_01D2B948.420196F0 
Content-Location: file:///C:/18F2A310/testpage.htm 
Content-Transfer-Encoding: quoted-printable 
Content-Type: text/html; charset="us-ascii" 

。 emlメッセージを開くか、OutlookメッセージをMHT形式に保存すると、MIMEコードの詳細が表示されます。

そして、あなたはアプリケーションコンテキストの種類を見つけることができます。このリンクから

はサポート:

+0

Media Typesは、私はあなたに別の質問をするmuch.May非常にありがとう! 1つの添付ファイルに2つのコンテンツタイプがありますか?私はちょうどこのように['Content-Type'] = ""という部分を設定しました。 – Bella

+0

2つのコンテンツタイプを設定するためにMIMEファイルを直接操作しようとはしませんでしたが、smtplibではできません。 – felixc

+0

申し訳ありませんsmtplibはこれを行うことができます!これを書いてください:part.add_headers( "Content-Type"、 "application/pdf"); part.add_headers( "Content-Type"、 "application/msword"); 2つのコンテンツタイプがあります。 – Bella

関連する問題