为了发送E-mail,必须建立一个到端口25(即SMTP端口)的套接字连接。
一旦连接到服务器,就可以发送一个邮件报头(采用SMTP格式,该格式很容易生成)。紧随其后的是邮件消息。详细操作步骤如下
- 打开一个到达主机的套接字:
1 | Socket s=new Socket("mail.yourserver.com",25); |
发送一下消息到打印流:
1
2
3
4
5
6
7
8HELO sending host
MAIL FROM:<sender e-mail address>
RCPT TO: <recipient e-mail address>
DATA
mail message
{any number of lines}
...
QUITSMTP规范规定,每一行都要以\r再紧跟一个\n来结尾。
有些SMTP服务器并不检查信息的真实性,你可以随意填写任何你喜欢的发件人名字。
相比几下,有个更为简单的E-mail发送方式——使用JavaMail API,在JavaMail API中,你只需要简单地调用下面这个方法,就可以发送一条邮件了,该类库负责实现邮件协议、认证和附件处理等。
示例程序如下:
1 | import java.awt.*; |
1 | import java.awt.*; |