2010-11-22 8 views
1

これはシナリオです。私はそれに添付されたExcelファイルで電子メールを送信するPHPコードを持っています。私は私と2つの異なるサーバーを持っています。最初の1つは、100 + kbとその優れたファイルを吹き出しました。私は2番目のサーバー、同じファイルで試してみました。しかしそれは失敗した。私は10kbにファイルサイズを最小限に抑えようとしました、そして幸運なことに、ファイルが送られました。ここで、最初のサーバーが100kb以上の添付ファイルを送信しても、2番目のサーバーが傾けないようにする方法については少し混乱しています。 php.iniで設定する必要があることはありますか?PHP:メールの添付ファイルサイズ

+0

宛先サーバーではなく、問題の原因となっているのがサーバーであることをどのように知っていますか? – Matthew

+0

となります。これは、最初のサーバーが100kbのメールを送信できるためです。 2番目のサーバーは70kb未満しか送信できません。 – Mark

答えて

1

PHPエラーログまたはサーバーのメールログには何かがありますか?私はPHPがこのような小さなファイルで問題に遭うことは期待していないので、あなたのメールサーバーの設定かもしれません。あなたの迷惑メールフォルダをチェックして、宛先の電子メールアドレスも正しく入力したことがありますか?

+0

はい。すべて正しいです。私が言ったように、最初のサーバーでは、スクリプトは円滑に実行されます。別のサーバー上のファイルを転送したとき、添付ファイルの問題が発生したときです。 – Mark

+0

WindowsまたはUnixですか? Unixでは、mail()関数は一般的にローカルメールサーバを呼び出して電子メールを処理するため、異なるWebサーバは独自の設定を持つ異なるローカルメールサーバを持ちます。 – thelem

+0

はどちらもUNIX上にあります。 – Mark

6

最大サイズは電子メールサーバーによって処理されます。

メモリサイズ制限または最大実行時間に達したことに関する警告が表示されない場合は、php.iniに変更する設定はありません。

事実、PHPは電子メールを100MBでも送信できます(コードであまりにも多くのメモリを使用しない場合)。

電子メールサーバーがそれを受け入れることを確認した後に。私は電子メールサーバーのほとんどが10 MBの電子メールを処理するように構成されていると思います。また、ファイルは電子メールで添付されるようにbase64でエンコードされることに注意してください。 Base64エンコーディングはファイルが33%重くなるようにします。したがって、電子メールに添付された10MBのファイルは実際に13.3MBの電子メールを生成します。

私が最初にチェックするのはメールサーバーのログになると思います。

+0

最大サイズは電子メールサーバーによって処理されます。 - >私はそれをPHPでオーバーライドできる方法はありますか? – Mark

+0

@マーク:電子メールサーバのパラメータなので、いいえ。どのMTAを使用していますか? – RageZ