「Web サイトから契約書を送信しました。フォーム経由で送信されたメールに添付ファイルを追加するにはどうすればよいですか?」という質問をよく聞きます。まず最初に言いたいのは、これを行う簡単な方法はないということです。 PHP またはその他のサーバー側スクリプト言語についての十分な理解が必要です。もちろん、実際に PHP をサポートする Web サイトのアカウントも必要です。この前提条件を満たしている場合は、この章を読んだ後、PHP を使用して添付ファイル付きの電子メールを送信できます。
1. 添付ファイルの仕組み
PHP のマニュアルで「添付ファイル」関数を検索したことがある場合、結果は何も表示されないかもしれません (少なくともこの記事を書いている時点ではまだ)。後で、この知識を理解するために多くの時間を費やすことになります。
添付ファイル付きの電子メールを誰かに送信すると、その添付ファイルは電子メールと一緒に受信者のメールボックスに置かれると思うかもしれません (たとえば、PNG 画像ファイルを送信すると、受信者のメールボックスにはtxt ファイル (電子メール) と .png ファイル (添付ファイル))。しかし、それはそうではありません。添付ファイルを追加すると、電子メール プログラムは添付ファイルをプレーン テキスト ファイルに変換し、作成した内容 (実際の電子メール) の後にこのテキスト ブロックを挿入します。すべてを送信すると、受信者の受信トレイにはプレーン テキスト ファイル (添付ファイルと実際の電子メール コンテンツの両方が含まれるファイル) だけが残ります。
以下は、添付ファイル (HTML ファイル) を含むメールの例です。いくつかの重要な行をマークしました:
Return-Path:
Date: Mon, 22 May 2000 19:17:29 +0000
From: Someone
To: person
Message-id:
Content -type: multipart/mixed; border="396d983d6b89a"
Subject: これが主題です
--396d983d6b89a
Content-type: text/plain; charset=iso-8859-1
Content-transfer-encoding: 8bit
これが本文ですメールの
--396d983d6b89a
Content-type: text/html; name=attachment.html
Content-disposition: inline; filename=attachment.html
Content-transfer-encoding: 8bit
添付ファイル