2010-11-22 4 views
1

좋습니다, 시나리오는 이렇습니다. 나는 그것을 첨부 엑셀 파일과 함께 이메일을 보내는 PHP 코드가 있습니다. 나는 두 개의 다른 서버를 가지고있다. 첫 번째는 100 + kb와 그 좋은 점을 강조한 파일입니다. 나는 두 번째 서버, 같은 파일로 시도했다. 그러나 실패했습니다. 나는 10kb에 파일 크기를 최소화하려고 노력했다. 그리고 운이 좋게, 파일은 보내졌다. 이제 어떻게하면 첫 번째 서버가 두 번째 서버가 기울어 질 때까지 100kb 이상의 첨부 파일을 보낼 수 있는지에 대해 조금 혼란스러워합니다. php.ini에서 설정해야 할 것이 있습니까?PHP : 메일 첨부 파일 크기

+0

대상 서버가 아니라 문제의 원인이 서버인지 어떻게 알 수 있습니까? – Matthew

+0

첫 번째 서버가 100kb의 이메일을 보낼 수 있기 때문입니다. 두 번째 서버는 70kb 미만 만 보낼 수 있습니다. – Mark

답변

1

PHP 오류 로그 또는 서버의 메일 로그에는 어떤 것이 있습니까? 이러한 작은 파일에 PHP가 문제가 될 것으로 기대하지 않으므로 메일 서버의 설정 일 수 있습니다. 정크 메일 폴더를 확인하고 대상 전자 메일 주소를 올바르게 입력 했습니까?

+0

예. 다 맞다. 내가 말했듯이 첫 번째 서버에서 스크립트는 부드럽게 실행됩니다. 다른 서버에서 파일을 전송할 때, 첨부 문제가 발생했을 때. – Mark

+0

Windows 또는 Unix입니까? Unix에서 mail() 함수는 일반적으로 로컬 메일 서버를 호출하여 전자 메일을 처리하므로 서로 다른 웹 서버에는 자체 설정이있는 다른 로컬 메일 서버가 있습니다. – thelem

+0

모두 유닉스이다. – Mark

6

최대 크기는 이메일 서버에서 처리합니다.

메모리 크기 제한이나 최대 실행 시간에 대한 경고를받지 못하면 php.ini로 변경할 설정이 없습니다.

사실 PHP는 100MB의 이메일도 보낼 수 있습니다 (코드에서 너무 많은 메모리를 사용하지 않는 경우).

이메일 서버가이를 수락해야합니다. 전자 메일 서버의 대부분은 10MB 전자 메일을 처리하도록 구성되어 있다고 생각합니다. 또한 파일은 전자 메일과 함께 첨부되기 위해 base64로 인코딩 될 것이라는 점을 명심해야합니다. Base64 인코딩을 사용하면 파일이 33 % 더 무거워집니다. 따라서 이메일에 첨부 된 10MB 파일은 실제로 13.3MB 이메일을 생성합니다.

내가 먼저 확인해야 할 것은 이메일 서버 로그 일 것입니다.

+0

최대 크기는 전자 메일 서버에서 처리합니다. -> 거기에 PHP로 대체 할 수있는 방법이 있습니까? – Mark

+0

@ 마크 : 이메일 서버의 매개 변수이기 때문에 아니오. 어떤 MTA를 사용하고 있습니까? – RageZ