所谓"电子邮件特快专递"功能的原理--看我理解得多么..?--小弟初来乍到,还望高手指点--仅有的5分送上!(5分)

  • 主题发起人 主题发起人 stanely
  • 开始时间 开始时间
S

stanely

Unregistered / Unconfirmed
GUEST, unregistred user!
客户机和自己的邮件服务器之间使用smtp协议,两台邮件服务器之间使用smtp协议,
如果把自己"当成"服务器,和另一个邮件接受服务器之间直接连接就是所谓的"特快专递".
是这个意思么?
可是如果接受邮件的服务器需要smtp身份验证,怎么知道我到底是属于她的用户还是另一个邮件发送服务器?
她就受我的邮件服务器的邮件的时候怎么不需要身份验证?
莫非需要身份验证的smtp不是标准的smtp?

小弟初来乍到,还望高手指点!
 
没有人知道么?
 
其实特快专递,就是直接解析对方电子邮件的服务器地址,然后,直接和对方的服务器的邮件程序进行数据通讯,将电子邮件发送过去。
也就是你理解的,将自己的PC机当成一台SMTP的服务器,国外早就有这种源码,我记得,早些时候我看到过的。
 
你的特快专递在和目标邮件服务器交换数据,不是通过 SMTP的。所以,不需要验证,验证SMTP,只是邮件服务器对发磅到SMTP端口的连接进行的。
 
可是我记得早期smtp协议定义的时候是对两台机器之间传输邮件为目的的,但是因为接受和发送人不一定同时在线,所以后来才出来了电子信箱这个东西.而且两个服务器之间用的是smtp协议传输数据的.我的理解不对么?
 
是吖,我们就是根据SMTP协议跟对方的邮件服务器传送数据的。

间接的self->smtp->smtp
直接的self smtp->smtp

其实本质都一样的。[:D]
 
本质是一样,可是一个要密码认证,一个不要,怎么分别呢?
用户和自己的smtp主机通信以及两个sntp服务器通信的"语言"不一样?
 
1)密码认证是因为我们要通过这个SMTP发信,所以就要进行认证。
但是,如果是要这个SMTP收信,那么认证就可以不用了,因为我们在上面不一定有帐号。

如果你一定要分别信是怎么来的,你看看信的头部,看看有没有经过什么SMTP,就可以
确定它是怎么来的了。

2)语言是基本一致的,你可以看看SMTP的协议说明。
http://www.rfc-editor.org/
 
不好意思,http://www.rfc-editor.org/我这里不能访问呀.
最好能告诉我具体一些,
我的意思是当你的smtp服务器接受连接的时候它怎么知道是自己的用户的请求还是另一个smtp服务器的请求
 
http://search.ietf.org/internet-drafts/draft-melnikov-smtp-lang-04.txt
 
我169,去不了呀,麻烦你贴在这里吧:)
 
Network Working Group Mike Gahrns, Microsoft
Internet Draft Alexey Melnikov, ACI WorldWide/MessagingDirect
Document: draft-melnikov-smtp-lang-04.txt July 2001


SMTP Language Extension


Status of this Memo

This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. Internet-Drafts are
working documents of the Internet Engineering Task Force (IETF), its
areas, and its working groups. Note that other groups may also
distribute working documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet- Drafts as
reference material or to cite them other than as "work in progress."

The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt

The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.


This document suggests a proposed protocol for the Internet
community, and requests discussion and suggestions for improvements.
Distribution of this draft is unlimited.

The protocol discussed in this document is experimental and subject to
change. Persons planning on either implementing or using this protocol
are STRONGLY URGED to get in touch with the author before embarking on
such a project.


0. Meta Information on this draft

This information is intended to facilitate discussion. It will be
removed when this document leaves the Internet-Draft stage.


Changes since -00

1). Corrected grammar error in LANG command description section

2). Included Mark Crispin's suggestion of allowing the server to substitute
a primary language if the sublanguage asked for is not available.

3). Added section 5 that describes extended LANG reply

4). Corrected example, more examples

5). Added extension mechanism

6). Specified interaction with RFC-2034 ("SMTP Service Extension for
Returning Enhanced Error Codes")

7). LANG command must always have language-tag as a parameter. Only EHLO
response could be used to examine list of supported languages.


Changes since -01

1). Corrected ABNF for CR

2). Updated Copyright section

3). Other minor bugfixes


Changes since -02

1). Extended DSN format to include language tag

2). Fixed few typos.


Changes since -03

1). Changed DSN format to include language tag and translation of text part of
diagnostic-code-field. Don't use diagnostic-code-field for a non English text.

2). Added LANG parameter to MAIL FROM.


Open issues

1). What a server should send in LANGUAGE EHLO response if it can't
enumerate all of the supported languages but only some of them?


1. Abstract

The Simple Mail Transfer Protocol [RFC-821] allows server responses to
include human-readable text that in many cases needs to be presented to
the user. This document specifies a way for a client to negotiate which
language the server should use when sending human-readable text. It also
extends DSN format to include language field for the human-readable text.


2. Conventions used in this document

In examples, "C:" and "S:" indicate lines sent by the client and server
respectively. If such lines are wrapped without a new "C:" or "S:"
label, then the wrapping is for editorial clarity and is not part of the
command.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [KEYWORDS].


3. Framework for the Language SMTP service extension

The Language SMTP service extension uses the SMTP service extension
mechanism described in [ESMTP]. The following SMTP service extension is
therefore defined:

(1) The name of the SMTP service extension is "Language".

(2) The EHLO keyword value associated with this service extension is
"LANGUAGE".

(3) The LANGUAGE EHLO keyword contains as a parameter a space separated
list of the names of supported language tags. This list is optional.
If the language tag argument is omitted, this means that server is
unable to enumerate the list of languages it supports.

(4) A new SMTP verb "LANG" is defined by this document.

(5) One optional parameter is added to the MAIL command:

An optional parameter for the MAIL command, using the esmtp-keyword
"LANG", (used to propagate a language that should be used in human
readable part and/or localized-diagnostic-text-field field of
"message/delivery-status" part (see section 8.) of a delivery status
notification for the message), is defined in section 7.

An additional document may define an extension to LANGUAGE ESMTP
extension. Any such extension MUST use ESMTP extension name that starts
with LANGUAGE prefix. This document doesn't specify any LANG command
extension.


4. Requirements

Any server that supports this extension MUST support the language
"i-default". It SHOULD use the language "i-default" as described in
[CHARSET-POLICY] as its default language until another supported language
is negotiated by the client. If a server is able to enumerate supported
languages it MUST include "i-default" in EHLO response. Otherwise it MUST
NOT return any language in LANGUAGE EHLO response.


5. LANG Command

LANG language-tag [*extension]

Arguments:
language tag as defined by [RFC-1766].
optional extension specific parameters

Restrictions:
The LANG command is permitted throughout a mail connection.

Reply Codes:
Success:
250 LANG command completed successfully
Error:
504 Language is not supported
421 <domain> Service not available, closing transmission channel

Discussion:
The LANG command requests that human-readable text emitted by the
server be localized to the language specified in the language tag
argument.

If a sublanguage was asked for and not available but the primary
language is available, the server SHOULD switch to the primary
language and MUST use an extended LANG reply containing the
identifier of the primary language it switched to as described in
section 5.

It is also recommended that server recognizes languages that have
multiple different tags (for example "ru" and "rus").

Note 1. Client MUST NOT use MUL (Multiple languages) and UND
(Undetermined) language tags and server MUST return error code 504
to the LANG command that is used with such parameter.

Note 2. [RFC-1766] warns that there is no guaranteed relationship
between languages whose tags start out with the same series of
subtags. However it is believed that for the purpose of this
document it is safe to treat all languages, whose tags starts with
primary language described in ISO 639-1 and ISO 639-2 (i.e. all 2
or 3 letters primary languages) as hierarchical. For all languages
with other primary tags described fallback rule MUST NOT be used.
In particular, language tags starting with 'i-' and 'x-' SHOULD NOT
be treated as hierarchical.

If the command succeeds, the server will return human-readable
responses in the specified language starting with the successful
250 response to the LANG command. These responses will be in UTF-8
[RFC-2044]. In particular, LANG command MAY affect the result of a
HELP command.

If the command fails, the server will continue to return human-
readable responses in the language it was previously using.

An additional document may define an extension to LANGUAGE ESMTP
extension. Any such extension MUST use ESMTP extension name that
starts with LANGUAGE prefix. This document doesn't specify any
LANGUAGE extension.

LANGUAGE extension document may define additional parameters to LANG
command. Client MUST NOT issue the optional extension parameters
unless a server has indicated in its EHLO response that it supports
that extension. In case when server doesn't support requested
parameter(s) or any parameters, it MUST respond with 504 code.

Example 1:

< The server defaults to using responses in "i-default" language
until the user explicitly changes the language. >

S: 220 smtp.example.com ESMTP server ready
C: EHLO main.example.com
S: 250-smtp.example.com
S: 250-AUTH CRAM-MD5 DIGEST-MD5
S: 250 LANGUAGE EN FR RU i-default
C: HELP
S: 214-This is Sendmail version X.X.X
S: 214-Topics:
S: 214- HELO EHLO MAIL RCPT DATA
S: 214- RSET NOOP QUIT HELP VRFY
S: 214- EXPN VERB ETRN DSN
S: 214-For more info use "HELP <topic>".
S: 214 End of HELP info

< Once the client changes the language, all responses will be in
that language starting with 250 response to the LANG command. >

C: LANG FR
S: 250 La Language commande a ete execute avec success

C: HELP
S: 214-C'est le programme Sendmail version X.X.X
S: 214-Topics:
S: 214- HELO EHLO MAIL RCPT DATA
S: 214- RSET NOOP QUIT HELP VRFY
S: 214- EXPN VERB ETRN DSN
S: 214-Pour obtenir l'information supplementaire utilisez "HELP <topic>".
S: 214 La fin de l'information

< If a server does not support the requested language, responses
will continue to be returned in the current language the server is
using. >

C: LANG DE
S: 504 Ce Language n'est pas supporte

Example 2:

< The client tries to select MUL language that couldn't be used with
described extension>

C: LANG MUL
S: 504 It is not allowed to use MUL language.

Example 3:

< The client tries to use LANG extension not supported by server>

C: LANG i-default (blah blah)
S: 504 LANG extension blah is not recognized.


6. "LANG" extended reply

Extended reply is the reply that contains additional information in the
text part. Extended reply allows to pass additional information from
server to client. Client may choose to ignore additional information in
an extended reply. Thus client that doesn't recognize an extended reply
would treat it as a regular SMTP reply.

Example 4:

< The client tries to select the language, but it is unavailable.
However primary language is available>

C: LANG FR-ca
S: 250 [LANG FR]La Language commande a ete execute avec success

Client that supports LANGUAGE extension must recognize Enhanced Error
Codes defined in [RFC-2034]. When server supports both LANGUAGE and
ENHANCEDSTATUSCODES extensions, Extended reply data MUST follow Enhanced
Error Code in reply.

Example 5:

< The server supports both LANGUAGE and ENHANCEDSTATUSCODES>

S: 220 smtp.example.com ESMTP server ready
C: EHLO main.example.com
S: 250-smtp.example.com
S: 250-LANGUAGE EN FR RU i-default
S: 250 ENHANCEDSTATUSCODES
C: LANG FR-ca
S: 250 2.0.0 [LANG FR]La Language commande a ete execute avec success


7. The LANG parameter of the ESMTP MAIL command

Then LANG esmtp-keyword on the extended MAIL command specifies what
language should be used in human readable part and/or
localized-diagnostic-text-field field of "message/delivery-status" part
(see section 8.) of a delivery status notification for the message.

If the LANG esmtp-keyword is used, it MUST have an associated
esmtp-value. The ABNF for the LANG parameter is:

lang-parameter = "LANG=" language-tag

If the message is relayed to another SMTP server that supports LANGUAGE
ESMTP extension, the MTA acting as the client MUST check if the receiving
MTA lists the language specified in lang-param ("requested language") in
the list of supported language tags in LANGUAGE EHLO response. If the
receiving MTA either lists the requested language or doesn't list any
language tag (i.e. the receiving MTA is unable to list languages it
supports) the sender MUST issue LANG command for the requested language.
After that, regardless of the result of LANG command, the client MTA MUST
specify LANG parameter in MAIL command.

The receiving MTA SHOULD use the language specified in LANG parameter if
it has to generates a DSN for the message. Human readable part in
generated DSN SHOULD contain the description of the event in both English
and requested language. If the server MTA doesn't support the requested
language, it MUST act as if the client didn't specify LANG parameter in
MAIL command.

Example 6:

< Relaying of the message >

S: 220 smtp.example.com ESMTP server ready
C: EHLO main.example.com
S: 250-smtp.example.com
S: 250-DSN
S: 250-8BITMIME
S: 250 LANGUAGE
C: LANG RU
S: 504 Unsupported language
C: MAIL FROM:<Katerina@example.ru> LANG=ru
S: 250 <Katerina@example.ru> sender ok
C: DATA
S: 354 okay, send message
C: (message goes here)
C: .
S: 250 message accepted
C: QUIT
S: 221 goodbye


8. Delivery status notifications and extension

The format of delivery status notifications (DSNs) is specified in [DSN].
This memo extends the per-recipient-fields of [DSN] to include two new
DSN fields, Localized-Diagnostic-Text, that is equivalent to text part of
Diagnostic-Code but contains text in any language other than English, and
Language, indicating the language tag for Localized-Diagnostic-Text
field. In the augmented BNF of RFC 822 [ABNF], per-recipient-fields is
therefore extended as follows:

per-recipient-fields =
[ original-recipient-field CRLF ]
final-recipient-field CRLF
action-field CRLF
status-field CRLF
[ remote-mta-field CRLF ]
[ [language-field CRLF
localized-diagnostic-text-field CRLF ]
diagnostic-code-field CRLF ]
[ last-attempt-date-field CRLF ]
[ will-retry-until-field CRLF ]
*( extension-field CRLF )

language-field = "Language" ":" language

localized-diagnostic-text-field = "Localized-Diagnostic-Text" ":" *text

where language is a language tag as described in [RFC-1766].

An SMTP server that supports both DSN and LANGUAGE extensions SHOULD
include localized-diagnostic-text-field. If
localized-diagnostic-text-field is present, language-field MUST be
present too. diagnostic-code-field MUST NOT contain text in any language
other than English.


8. Formal Syntax

The following syntax specification uses the augmented Backus-Naur Form
(BNF) as described in [ABNF].

Except as noted otherwise, all alphabetic characters are
case-insensitive. The use of upper or lower case characters to define
token strings is for editorial clarity only. Implementations MUST accept
these strings in a case-insensitive fashion.

CR = %x0D ;; ASCII CR, carriage return

CRLF = CR LF

LF = %x0A ;; ASCII LF, line feed

SPACE = %x20 ;; ASCII SP, space

LANG_Command = "LANG" SPACE language_tag [*extension] CRLF
; A client MUST NOT issue the optional extension parameter
; unless a server has indicated in its EHLO response that it
; supports that extension

extension = SP "(" lang-ext-name SP lang-ext-values ")"

lang-ext-name = text
; Name of LANG extension

lang-ext-values = "(" lang-ext-value *(SP lang-ext-value)")"
; List of LANG extension specific values

lang-ext-value = text

LANGUAGE_List = "LANGUAGE" *(SPACE <language_tag>) CRLF
; Note 1: the server is required to support the language i-default and
; as such i-default MUST appear in the language response. When
; "i-default" is used, all responses MUST contain only ASCII text.
;
; Note 2: Language tags MUL (Multiple languages) and UND
; (Undetermined) MUST NOT be used.


language_tag = <language_tag> as defined in [RFC-1766]

Reply-line |= Lang-Reply-line
; Reply-line is defined in [SMTP-UPD]
; See section 6 for description of Lang-Reply-line

Lang-Reply-line = Reply-code [ SP ext-text ] CRLF
; Reply line for LANG command

ext-text = ext-data text

ext-data = "[" ext-name SP ext-value "]"
; Note 1: In the case of multiline response the same ext-data SHOULD
; appear on every line.
;
; Note 2: In case when server also supports "SMTP Service Extension
; for Returning Enhanced Error Codes" [RFC-2034], ext-data MUST follow
; Enhanced Error Code.

ext-name = "LANG"

ext-value = Primary-tag
; Primary tag as defined by [RFC-1766]


9. Security Considerations

This extension allows the negotiation of a language for the human-
readable text returned by a server. A user is able to query the
languages that a server supports.


10. References

[RFC-821], Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC
821, August 1982, <ftp://ftp.isi.edu/in-notes/rfc821.txt>

[SMTP-UPD], Klensin, J., "Simple Mail Transfer Protocol",
draft-ietf-drums-smtpupd-10.txt (work in progress), February 1999.

[RFC-1766], Alvestrand, H., "Tags for the Identification of
Languages", RFC 1766, UNINETT, March 1995,
<ftp://ftp.isi.edu/in-notes/rfc1766.txt>

[CHARSET-POLICY] Alvestrand, H., "IETF Policy on Character Sets and
Languages", RFC 2277, January 1998, <ftp://ftp.isi.edu/in-notes/rfc2277.txt>

[RFC-2044], Yergeau, F., "UTF-8, a transformation format of Unicode
and ISO 10646, RFC 2044, Alis Technologies, October 1996,
<ftp://ftp.isi.edu/in-notes/rfc2044.txt>

[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", RFC 2119, March 1997,
<ftp://ftp.isi.edu/in-notes/rfc2119.txt>

[IMAP-LANGUAGE], Gahrns, M., Melnikov, A., "IMAP4 Language Extension",
draft-gahrns-imap-language-xx.txt (work in progress), Microsoft,
ACI WorldWide/MessagingDirect

[ABNF] Crocker, Overell, "Augmented BNF for Syntax Specifications:
ABNF", RFC 2234, Internet Mail Consortium, Demon Internet Ltd.,
November 1997, <ftp://ftp.isi.edu/in-notes/rfc2234.txt>

[RFC-2034] Freed, N., "SMTP Service Extension for Returning Enhanced
Error Codes", RFC 2034, Innosoft, October 1996

[DSN] Moore, K. and G. Vaudreuil, "An Extensible Message Format for
Delivery Status Notifications", RFC 1894, January 1996.

11. Acknowledgments

This document is based on the early version of [IMAP-LANGUAGE].
Thus the work of Andrew McCown is appreciated.

Many thanks to the following people who gave feedback on the document:
Brad Knowles and Paul Hoffman.


12. Copyright

Copyright (C) The Internet Society 1999-2001. All Rights Reserved.

This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph
are included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.

The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

Funding for the RFC Editor function is currently provided by the
Internet Society.


13. Author's Address

Mike Gahrns
Microsoft
One Microsoft Way
Redmond, WA, 98072

Phone: (425) 936-9833
Email: mikega@microsoft.com

Alexey Melnikov
ACI WorldWide/MessagingDirect
#900, 10117 Jasper Avenue,
Edmonton, Alberta, T5J 1W8

Phone: (780) 424-4922 Ext 357
Email: mel@messagingdirect.com


 
通过DNS服务器解析MX记录得到邮件服务器的真实IP地址,
直接使用SMTP客户端连接发邮件,不需要身份认证
 
后退
顶部