1

よし、シナリオはこうだ。Excelファイルが添付された電子メールを送信するphpコードがあります。私は2つの異なるサーバーを持っています。最初のものは、100+kb の Excel ファイルを吹き飛ばしたもので、それで問題ありません。同じファイルの2番目のサーバーで試しました。しかし、それは失敗しました。ファイルサイズを 10kb に最小化しようとしたところ、幸運にもファイルが送信されました。最初のサーバーが 100kb を超える添付ファイルを送信できるのに、2 番目のサーバーが送信できないのはなぜなのか、少し困惑しています。php.ini で設定する必要があるものはありますか?

4

2 に答える 2

6

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

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

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

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

最初に確認するのはメールサーバーのログだと思います。

于 2010-11-22T08:04:59.380 に答える
1

PHPエラーログまたはサーバーのメールログに何かありますか?PHPがこのような小さなファイルで問題にぶつかるとは思わないので、メールサーバーの設定である可能性があります。迷惑メールフォルダを確認し、宛先のメールアドレスも正しく入力したことを確認しましたか?

于 2010-11-22T08:01:10.963 に答える