2012-04-04 34 views

Trả lời

8

Bạn có thể lấy một đoán điều này bằng cách gửi một thông báo EHLO và nhìn thấy nếu server trả lời với một SIZE:

$ nc -v aspmx.l.google.com. 25 
Connection to aspmx.l.google.com. 25 port [tcp/smtp] succeeded! 
220 mx.google.com ESMTP gv4si23346623qab.115 
EHLO somehost 
250-mx.google.com at your service, [YOUR_IP] 
250-SIZE 35882577 
250-8BITMIME 
250-STARTTLS 
250 ENHANCEDSTATUSCODES 

Trong trường hợp này, máy chủ báo cáo giới hạn 35 MB.

http://cr.yp.to/smtp/size.html

+0

Cảm ơn câu trả lời của bạn. Nhưng làm thế nào để tôi nhận được điều này cho yahoo, AOL ... Đối với yahoo, nó không cung cấp cho SIZE trong phản ứng ... – user1312132

+1

Họ đã làm cho tôi: '250-SIZE 41943040'. Bạn đã gửi 'EHLO yourhostname' chưa? – alberge

+0

Đây là các lệnh tôi đã theo dõi: 1) openssl s_client -crlf -quiet -connect android.smtp.mail.yahoo.com:465 2) EHLO InetAddress. Đối với Gmail .. Điều này làm việc cho tôi .. – user1312132

2

SMTPHELO/EHLO phản ứng chỉ ra kích thước tin nhắn tối đa, xem http://www.samlogic.net/articles/smtp-commands-reference.htm:

SIZE Lệnh SIZE có hai mục đích. Máy chủ SMTP có thể thông báo cho khách hàng kích cỡ thư tối đa là gì và máy khách có thể thông báo cho máy chủ SMTP kích thước (ước tính) của thư e-mail sẽ được gửi . Khách hàng không nên gửi thư điện tử lớn hơn kích thước được máy chủ báo cáo, nhưng thông thường, không có vấn đề gì nếu thông báo hơi lớn hơn kích thước mà máy khách thông báo cho máy chủ . Ví dụ dưới đây cho thấy làm thế nào một máy chủ (S) và khách hàng (C) báo cáo kích thước với nhau:

S: 250 SIZE 1000000 
C: MAIL FROM:<[email protected]> SIZE=500000 

Client gửi lệnh SIZE, và thông tin kích thước, cùng với MAIL FROM lệnh . Máy chủ gửi thông tin lệnh và kích thước một mình. Kích thước luôn được chỉ định theo byte.

Các vấn đề liên quan