What exactly you need help with?
The process is like this:
( assuming your VPS address space is 1.2.3.0/xx )
Register throwaway domain:
senderdomain.com
Setup DNS as normal:
senderdomain.com IN A 1.2.3.4
www.senderdomain.com IN A 1.2.3.4
Add your mx records:
senderdomain.com IN MX mx.senderdomain.com
senderdomain.com IN MX mx2.senderdomain.com
senderdomain.com IN MX mx3.senderdomain.com
..etc
Setup A records for the MX hostnames:
mx.senderdomain.com IN A 1.2.3.4
mx2.senderdomain.com IN A 1.2.3.5
mx3.senderdomain.com IN A 1.2.3.6
..etc
Now you need - at least should also setup the reverse zones:
1.2.3.4 should resolve to mx.senderdomain.com
1.2.3.5 should resolve to mx2.senderdomain.com
..etc
You obviously need some control over the address space used.
It's possible to go without proper reverse but it will drastically lower your inbox rate.
If you have no control over the reverse, go the other way:
Check 1.2.3.4. If it resolves to anything, like whatever.myvps.com, then change senderdomains MX addresses to whatever.myvps.com
The point is to make your mx records look legit.
Now you need to setup your box to rotete between outgoing IP addresses.
Simple way: use iptables.
iptables -t nat -A POSTROUTING -m statistic --mode random --probability 0.5 -j SNAT --to-source 1.2.3.4
iptables -t nat -A POSTROUTING -m statistic --mode random --probability 0.5 -j SNAT --to-source 1.2.3.5
.. etc
This will take care of rotating outgoing addresses, no need to mess around with your smtp which may or may not support this.
So up to this point you have senderdomain.com properly setup, and outgoing addresses ready.
Now you just need to configure your smtp. I recommend postfix for it's simplicity.
1. add mx.senderdomain.com to /etc/mailname
2. edit /etc/postfix/main.cf
myhostname = mx.senderdomain.com
myorigin = /etc/mailname
mydestination = localhost, senderdomain.com, mx.senderdomain.com, mx2.senderdomain.com...etc
3. restart postfix
4. i repeat: restart postfix
Send some test mails to yourself, like echo "blah blah" | mail -s "subject"
[email protected]
Check the email for spam score, ip addresses, check reverse again, etc
Now you notice you didn't restart postfix so do it.
Send some more and verify IP rotation is working.
Now you're ready to blast from the console with a while loop like while target=`cat targets.txt` do ... spam here .. done
Keep checking /var/log/mail.log ( tail -f /var/log/mail.log comes handy )
If you notice something like "greylisted" "temp banned", then immediately pull that ip and wait for cooldown.
Go slow at first to "warm up" the ip addresses then gradually speed up.
Try not to send to dead addresses using brand new address space. This is important.
You absolutely have to monitor your mail.log. If you only react when mails are bouncing it's too late, IPs are gone.
So keep that tail -f open all times or better have a script checking it.
If you have a desktop mailer then connect it to postfix.
Use a tcp connection forwarder that does not pass your IP over. No iptables. Use a forwarder like jumpgate.
jumpgate -l 25000 -r 25 -a 127.0.0.1
Then setup your mailer to use 1.2.3.4 port 25000 as the smtp.
This way your "from ip" will show as it was sent from localhost, saving you from trouble/slow proxies.
All complaints will go to the abuse address of your address space. You should have control over that so you can take the heat longer.
Blast away
Basically that's it. Where are you stuck? What exactly you need help with?
"How to mail" is not that short or simple to write the whole thing in a forum post.
Please ask specific questions so ppl can actually help.