質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

Q&A

解決済

1回答

3922閲覧

Contact Form 7 で8MB以上のファイルを添付するとメールが届かなくなる

KYNM

総合スコア7

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

0グッド

0クリップ

投稿2020/04/17 01:30

はじめまして。
ご教授のほどよろしくお願い致します。

前提・実現したいこと

お名前ドットコムのサーバー上でwordpressのHPを運用しています。
今回、お問い合わせページに10MBを上限として添付ファイルを挿入できるようにしたいと思い、Contact Form 7のファイル機能を使用して実装しました。

発生している問題

8MB以上のファイルを添付して送信を行うと、メールが届かなくなります。
添付ファイルが無い場合や、ファイルサイズが7MB程度の場合は問題なくメールは届きました。
問合せ完了の自動返信メールも同様に、添付ファイルを送るようにすると届かなくなます。

試したこと

調べた情報を元に以下のファイルの書き換えを試してみましたが、改善されませんでした。

.htaccess

php_value memory_limit 256M php_value post_max_size 200M php_value upload_max_filesize 10M php_value max_execution_time 600 php_value max_input_time 600

php.ini

memory_limit = 256M post_max_size = 200M upload_max_filesize = 10M max_execution_time = 600 max_input_time = 600 max_file_uploads = 20 php_value max_file_uploads = 20

補足情報(FW/ツールのバージョンなど)

WordPress: 5.3
ContactForm7: 5.1.7

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

メールの添付ファイルは、Base64 でエンコードされます。

メールの添付ファイルが元のファイルよりもサイズが大きくなる理由

このため、MIME 準拠の base64 エンコーディングされたバイナリ データの実際の長さは、通常、元のデータ長の約 137 % になります。ただし、非常に短いメッセージの場合、ヘッダーのオーバーヘッドのせいでオーバーヘッドが大幅に増える可能性があります。 Base64 エンコーディングされたバイナリ データの最終的なサイズは、おおよそで元のデータ サイズの 1.37 倍に 814 バイト(ヘッダー用)を加えたサイズと等しくなります。

と書かれているように Base64 でエンコードされることで、もともとのファイルよりサイズが大きくなります。

メールサーバーがメールのサイズを 10MB で制限している場合、10MB ÷ 1.37 = 7.299 MB ですので、添付ファイルのサイズが、7.3MB あたりで送信できなくなると思います。

お使いのメールサーバーで、1通あたりの最大受信サイズは、どれぐらいでしょうか?

投稿2020/04/17 01:52

編集2020/04/17 01:55
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KYNM

2020/04/17 04:48

早速のご回答ありがとうございます。 なるほど、エンコードされるとファイルサイズが大きくなるんですね。 私が使っているのはお名前ドットコムのメールサーバです。 今調べたところ、WEBメールは添付ファイルひとつあたり15MBが上限と書いてありました。(https://help.onamae.com/answer/9023) 15MBですと10MBのファイルも送れそうな気がしますね...
CHERRY

2020/04/17 05:37

そうなると メールサーバー側は、大丈夫かもしれないですね。 他に確認するとすれば... 8MB 以上のメールを送った際の Web サーバのログには、なにかメッセージは、でていないでしょうか? WordPress のメール送信機能は、デフォルトのものをお使いであれば、メールの送信方法を SMTP 経由に変更すると状況は変わるでしょうか? たとえば、「WP Mail SMTP by WPForms」プラグインを使う等。
KYNM

2020/04/21 00:16

返信が遅くなってしまい、申し訳ありません。 サーバログには何もメッセージは出ていませんでしたが、ご提案いただいた WP Mail SMTP を導入したところ、無事アップロードできるようになりました! 現状、SMTPの仕組みをあまり理解せずに使っているので勉強します! ご教授いただき、ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問