SMTPを使ってメールを送信する際にどのタイミングでメール件名のエンコード、デコードを行うかどなたか教えていただけないでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
そのメールを表示するときにデコードして、
そのメールを送信するときにエンコードすればいいです
投稿2018/08/23 12:49
総合スコア88180
0
SMTP (RFC5321 Simple Mail Transfer Protocol) というのは通信プロトコルのひとつで、電子メールの配送に関するものです。
もう少しわかりやすく言うと、SMTPは、コンピュータ同士が電子メールをやり取りするときのいろいろな決まりごとを集めたものです。
SMTPに含まれる決まりごととしては、次のようなことがあります。
- より下層の通信プロトコルの規定 (TCPを使って通信を行うこと、標準的に使うポートは25であることなど)。
- 通信手順 (コンピュータ同士での、通信の開始、電子メール送信要求、受信、それらの結果の確認、通信の終了などをするための手順)。
- 扱うデータ (SMTPでは電子メールを扱います) の形式。
- プロトコルを拡張する方法。
このうち、扱うデータについての決まりごとをやや具体的に挙げると、次のようなことがあります。
- 内容はヘッダ部と本体から成ること。
- ヘッダ部は「名前+コロン+値」の形式のヘッダフィールドの集合で、それぞれの値にも決まった形式があること。
- 内容には原則としてUS-ASCIIの範囲の符号しか使われないこと。そのために、本体やヘッダにはエンコードが施されていること (エンコードのアルゴリズムの詳細は別途規定する)。
この最後の「エンコード」が、質問者さんのおっしゃっているものかと思います (ちなみに、本体についてはRFC 2045、ヘッダ部についてはRFC 2047とRFC 2231で、エンコードのアルゴリズムが規定されています)。
ここまでの説明でわかるように、電子メールをSMTPで扱っている間はエンコードしておく必要があります。ですから回答は次の通りです。
- SMTPを使ってメールサーバに電子メールを送信する前にエンコードしておかなければいけない。
- SMTPを使って他のメールサーバから電子メールを受信した後でデコードする。
SMTPを使ってコンピュータ間で電子メールをやり取りしているとき以外は、エンコードされていようがされていまいがどちらでも構いません。
投稿2018/10/28 08:42
編集2018/10/28 08:54総合スコア4441
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
関連した質問
メール件名のデコード、エンコードのタイミング
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/24 04:54