SMTP

来自百合仙子's Wiki
跳转到导航 跳转到搜索

邮件头

From
To
Subject
Disposition-Notification-To
请求发送已读回执到某个地址
Content-Type
邮件的MIME类型
Content-Transfer-Encoding
传送编码,如8bit, base64

注意

主题后应有一个空行,末尾结束时亦有一个空行。

使用工具发送,会将IP地址也发送到接收者。

示例

使用的是esmtp程序,其它如msmtp也可以。

#!/bin/bash
sendmail -t <<EOF
From: <nospam@163.com>
To: Lily <nospam@gmail.com>
Subject: mailtesting

---------------------------------
This is the mail content ...
---------------------------------

EOF
s = smtplib.SMTP('smtp.163.com')
status = s.login('missyou11', base64.decodebytes(b'hidden').decode())[0]
msg = 'From: missyou11@163.com\r\n'\
    'To: lilydjwg@gmail.com\r\n'\
    'Subject: latest ip\r\n'\
    '\r\n'
msg += ip
s.sendmail('nospam@163.com', 'nospam@gmail.com', msg)

服务器间

发送

服务器IP地址由其域名的 MX 记录提供,端口号 25。典型的发送过程如下:

HELO domainname
MAIL FROM: addr
RCPT TO: addr1
RCPT TO: addr2
DATA
邮件正文
.
QUIT

其中地址的格式为 <xxx>

接收

接收方要设置DNS的 A 记录和 MX 记录。Pythonsmtpd模块可完成邮件的接收。

接收到的邮件文本不包含以下内容,需要接收方自行添加类似如下的信息在邮件首部

From lily@lily.10dig.net Fri Feb 25 18:27:39 2011
Return-Path: <lily@lily.10dig.net>
Delivered-To: unknown

然后可以交给如procmail或者添加到mbox邮箱中。

参见

外部链接