指导书留档:https://github.com/xuanhao44/comp-network-2023
实现一个简单的邮件客户端,完成邮件发送与接收功能:
- 使用 STMP 协议与邮件服务器交互,将邮件发送给任意收件人。
- 使用 POP3 协议与服务器交互,查询收件箱中的邮件信息。
-
在
send.c
文件中更改host_name
、user
、pass
、from
为邮件服务器名称(如smtp.qq.com
)、你的邮箱(如username@qq.com
)、你的授权码(请自行在邮箱设置中获取)和发件人邮箱。 -
编译程序:
make
-
在终端中执行以下命令:
./send RECIPIENT [-s SUBJECT] [-m MESSAGE] [-a ATTACHMENT]
其中各参数为:
-
RECIPIENT
:收件人邮箱 -
SUBJECT
:邮件主题 -
MESSAGE
:邮件正文 或 含有邮件正文的文件路径程序会首先检查
MESSAGE
是否是文件路径,如果是则读取文件内容作为正文,否则直接将其作为正文 -
ATTACHMENT
:邮件附件,只支持一个附件
-
邮件收取功能相对固定,将按顺序执行以下操作:查看邮件总数和总大小,列出所有邮件和它们的大小,展示第一封邮件的内容。
-
在
recv.c
文件中更改host_name
、user
、pass
为邮件服务器名称(如pop.qq.com
)、你的邮箱(如username@qq.com
)、你的授权码(请自行在邮箱设置中获取)。 -
编译程序:
make
-
在终端中执行以下命令:
./recv
关于使用 encode 之后是否需要加上 "\r\n",每个同学都有差异,有的人说要加,有的人说不要加。很奇怪,所以还是要自己试试行不行。