愤怒之间编写的一个发送邮件的程序。本想用它来向某个特定的邮箱地址发送大量的“垃圾邮件”。后来想想还是算了,能因为愤怒而学会了如何用程序发送邮件也是件好事,因此放过他吧。
本程序是使用JAVA编写。以下是开发步骤:
1:安装JDK;
2:安装eclipse(方便开发);
3:从 java.sun.com/products/javamail 上下载JavaMail库。
4:从 http://java.sun.com/products/javabeans/glasgow/jaf.html 上下载 JavaBeans Activation Framework(JAF)。
将3,4两个jar导入工程。
以下是简单的发送邮件的程序:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class sendMail
{
public static void main(String args[]) throws Exception
{
String host = "smtp.sina.com.cn"; //sina的smtp服务器
String from = " "; //用于发送邮件的邮箱地址,如123@ sina.com.cn
String to = ""; //邮件要发送到的邮箱地址
String username = ""; //用户名 以123@ sina.com.cn为例 username=123
String password = ""; //123@ sina.com.cn的密码
// int loop=0;
//int max=1000;
//Properties props = System.getProperties();
// for(loop=0;loop<max;loop++){
Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props);
session.setDebug(true);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
message.setSubject("标题");
message.setText("内容");
message.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(host, username, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
// Thread.currentThread().sleep(60*1000); //停止1分钟
// }
}
}
要想达到发送大量垃圾邮件的目的:
1:打开上面的循环;
2:sina smtp 不允许在短时间内重复做以上循环体内的动作,因此可以采用多个源邮箱地址的方法(多个邮箱地址往同一个目的邮箱地址发可以减少暂停的时间,如果只用一个邮箱地址要暂停4分钟左右。但是如果smtp服务器是根据IP地址来做这个限制的话,这种方法就不可行了)。
3:如果有自己的smtp服务器就更好了。
-------------------------------------------------------------------
PS: 虽然是以攻击者的角度来写这个程序和这篇文章,而且这种发送大量“垃圾邮件”的程序多年前就有。受害者除了被攻击的邮箱还有SMTP服务器,维护好SMTP服务器,同时也能保护它用户。SMTP服务器的安全与否,关系到其用户的安全与否。