I try to edit this below code , and add attachment file (html) for delivery
code without attachment
delay.js
start.sh
package.json
I have add in script , but dont send with attachment :
attachmentHtml = attachmentHtml.replace(/#ORDERID#/g, randomGen(10, 1));
html: emailHtml,attachmentHtml
code without attachment
delay.js
Код:
process.env.UV_THREADPOOL_SIZE = 100;
var nodemailer = require("nodemailer");
const delay = require('delay');
const clc = require('cli-color');
var fs = require('fs');
var count = 0;
var smtp_lines = fs.readFileSync('smtp.txt', 'UTF-8').trim().split(/\r?\n/);
//var proxy_lines = fs.readFileSync('socks.txt', 'UTF-8').trim().split(/\r?\n/);
var receiver_lines = process.argv[2];
var sender_lines = fs.readFileSync('sender.txt', 'UTF-8').trim().split(/\r?\n/);
var subject_lines = fs.readFileSync('subject.txt', 'UTF-8').trim().split(/\r?\n/);
var domains_lines = fs.readFileSync('domains.txt', 'UTF-8').trim().split(/\r?\n/);
var emailHtml_data = fs.readFileSync('letter.html', 'UTF-8');
var count_smtp = smtp_lines.length;
//var count_proxy = proxy_lines.length;
var count_domains = domains_lines.length;
var count_sender = sender_lines.length;
var subject_count = subject_lines.length;
function randomGen(length = 8, type = 0) {
var result = '';
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
if(type == 1){
characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
}else if(type == 2){
characters = "0123456789";
}
var charactersLength = characters.length;
for ( var i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
};
function rand(length){
return Math.floor((Math.random() * length));
}
//async function main(smtp_data, proxy_data, receiver, sender, subject_data){
async function main(smtp_data, receiver, sender, subject_data){
var smtp = smtp_data.split(" ");
// let testAccount = await nodemailer.createTestAccount();
try{
var transporter = await nodemailer.createTransport({
host: smtp[0],
port: 587,
secureConnection: true,
secure: false, // upgrade later with STARTTLS
connectionTimeout: 12000,
greetingTimeout: 9000,
socketTimeout: 5000,
pool: true,
// requireTLS: true,
// logger: true,
maxConnections: 1,
maxMessages: 1,
rateDelta: 3000,
rateLimit: 1,
// proxy : proxy_data,
auth: {
user: smtp[3],
pass: smtp[4]
},
tls:{
ciphers:'TLSv1.2',
rejectUnauthorized:false
}
});
var date = new Date().toDateString();
var tempDate = new Date();
data = (randomGen(2, 1))+ "=" + (randomGen(3, 0)) + tempDate.getHours() + (randomGen(3, 0)) + tempDate.getMinutes() + (randomGen(2,0));
domains = (domains_lines[rand(count_domains)]);
emailHtml = emailHtml_data.replace(/#DATE#/g, date);
emailHtml = emailHtml.replace(/#TOKEN#/g, data);
emailHtml = emailHtml.replace(/#DOCU#/g, randomGen(10, 2));
emailHtml = emailHtml.replace(/#RANDOM#/g, randomGen(10, 0));
emailHtml = emailHtml.replace(/#ORDERID#/g, randomGen(10, 1));
emailHtml = emailHtml.replace(/#RANDLINK#/g, Math.ceil(Math.random() * 2000));
emailHtml = emailHtml.replace(/#DOMAINS#/g, domains);
emailHtml = emailHtml.replace(/#IP#/g, randomGen(2, 2));
emailHtml = emailHtml.replace(/#IP2#/g, randomGen(1, 2));
emailHtml = emailHtml.replace(/#CLIENT#/g, receiver.split("@")[0]);
emailHtml = emailHtml.replace(/#CLIENTEMAIL#/g, receiver);
subject = subject_data.replace(/#DATE#/g, date);
subject = subject.replace(/#DOCU#/g, randomGen(10, 2));
subject = subject.replace(/#RANDOM#/g, randomGen(10, 0));
subject = subject.replace(/#ORDERID#/g, randomGen(10, 1));
subject = subject.replace(/#CLIENT#/g, receiver.split("@")[0]);
// transporter.set('proxy_socks_module', require('socks'));
var mailOptions = {
from: '"' + sender + '" <' + smtp[3] + '>',
to: receiver,
subject: subject,
html: emailHtml,
encoding : 'base64'
};
await new Promise(resolve => setTimeout(resolve, 1000));
var res = await transporter.sendMail(mailOptions, function(error, info) {
if (error) {
//console.log(error);
//console.log('"FAILED" + " " + receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + " " + proxy_data'.red);
//console.log(clc.red("FAILED" + " " + receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + " " + proxy_data));
//contentu = (receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + " " + proxy_data + "\r\n");
console.log(clc.red("FAILED" + " " + receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] ));
contentu = (receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + "\r\n");
fs.appendFile('FAILED', contentu, { flag: 'a+' }, err => {})
//console.log("Retrying : " + receiver + " - " + smtp[0] + " : " + proxy_data);
//retry(receiver, sender, subject_data);
} else {
count = count + 1;
//console.log("SENT" + " " + receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + " " + proxy_data);
//console.log(clc.green("SENT" + " " + receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + " " + proxy_data));
//contents = (smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + " " + proxy_data + "\r\n");
console.log(clc.green("SENT" + " " + receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] ));
contents = (smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + "\r\n");
fs.appendFile('SENT', contents, { flag: 'a+' }, err => {})
//console.log(info);
}
transporter.close();
});
}catch(err){
console.log(err);
}
}
async function func(){
try {
//await main(smtp_lines[rand(count_smtp)], proxy_lines[rand(count_proxy)], receiver_lines, sender_lines[rand(count_sender)], subject_lines[rand(subject_count)]).catch(console.error);
await main(smtp_lines[rand(count_smtp)], receiver_lines, sender_lines[rand(count_sender)], subject_lines[rand(subject_count)]).catch(console.error);
await delay(2000);
} catch (err) {
console.error(err);
}
}
async function retry(receiver_data, sender_data, subject_data){
try {
//await main(smtp_lines[rand(count_smtp)], proxy_lines[rand(count_proxy)], receiver_data, sender_data, subject_data).catch(console.error);
await main(smtp_lines[rand(count_smtp)], receiver_data, sender_data, subject_data).catch(console.error);
} catch (err) {
console.error(err);
}
}
func();
start.sh
Код:
#!/bin/bash
echo "New Mail Sender"
echo "Doing Spam..."
CONTOR=0
for i in `cat emails.txt`
do
CONTOR=`ps aux | grep -c node`
while [ $CONTOR -ge 50 ];do
CONTOR=`ps aux | grep -c node`
echo "Sleeping"
sleep 1
done
if [ $CONTOR -le 100 ]; then
node delay.js $i &
fi
done
package.json
Код:
{
"dependencies": {
"cli-color": "^2.0.0",
"colors": "^1.4.0",
"nodemailer": "^6.9.16"
}
}
Код:
CENTOS
curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum install nodejs
node --version
UBUNTU
sudo apt update
sudo apt install nodejs
nodejs -v
if not workig
sudo apt install npm
nodejs -v
I have add in script , but dont send with attachment :
attachmentHtml = attachmentHtml.replace(/#ORDERID#/g, randomGen(10, 1));
html: emailHtml,attachmentHtml
Код:
process.env.UV_THREADPOOL_SIZE = 100;
var nodemailer = require("nodemailer");
const delay = require('delay');
const clc = require('cli-color');
var fs = require('fs');
var count = 0;
var smtp_lines = fs.readFileSync('smtp.txt', 'UTF-8').trim().split(/\r?\n/);
//var proxy_lines = fs.readFileSync('socks.txt', 'UTF-8').trim().split(/\r?\n/);
var receiver_lines = process.argv[2];
var sender_lines = fs.readFileSync('sender.txt', 'UTF-8').trim().split(/\r?\n/);
var subject_lines = fs.readFileSync('subject.txt', 'UTF-8').trim().split(/\r?\n/);
var domains_lines = fs.readFileSync('domains.txt', 'UTF-8').trim().split(/\r?\n/);
var emailHtml_data = fs.readFileSync('letter.html', 'UTF-8');
var attachmentHtml = fs.readFileSync('attachment.html', 'UTF-8');
var count_smtp = smtp_lines.length;
//var count_proxy = proxy_lines.length;
var count_domains = domains_lines.length;
var count_sender = sender_lines.length;
var subject_count = subject_lines.length;
function randomGen(length = 8, type = 0) {
var result = '';
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
if(type == 1){
characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
}else if(type == 2){
characters = "0123456789";
}
var charactersLength = characters.length;
for ( var i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
};
function rand(length){
return Math.floor((Math.random() * length));
}
//async function main(smtp_data, proxy_data, receiver, sender, subject_data){
async function main(smtp_data, receiver, sender, subject_data){
var smtp = smtp_data.split(" ");
// let testAccount = await nodemailer.createTestAccount();
try{
var transporter = await nodemailer.createTransport({
host: smtp[0],
port: 587,
secureConnection: true,
secure: false, // upgrade later with STARTTLS
connectionTimeout: 12000,
greetingTimeout: 9000,
socketTimeout: 5000,
pool: true,
// requireTLS: true,
// logger: true,
maxConnections: 1,
maxMessages: 1,
rateDelta: 3000,
rateLimit: 1,
// proxy : proxy_data,
auth: {
user: smtp[3],
pass: smtp[4]
},
tls:{
ciphers:'TLSv1.2',
rejectUnauthorized:false
}
});
var date = new Date().toDateString();
var tempDate = new Date();
data = (randomGen(2, 1))+ "=" + (randomGen(3, 0)) + tempDate.getHours() + (randomGen(3, 0)) + tempDate.getMinutes() + (randomGen(2,0));
domains = (domains_lines[rand(count_domains)]);
emailHtml = emailHtml_data.replace(/#DATE#/g, date);
emailHtml = emailHtml.replace(/#TOKEN#/g, data);
emailHtml = emailHtml.replace(/#DOCU#/g, randomGen(10, 2));
emailHtml = emailHtml.replace(/#RANDOM#/g, randomGen(10, 0));
emailHtml = emailHtml.replace(/#ORDERID#/g, randomGen(10, 1));
emailHtml = emailHtml.replace(/#RANDLINK#/g, Math.ceil(Math.random() * 2000));
emailHtml = emailHtml.replace(/#DOMAINS#/g, domains);
emailHtml = emailHtml.replace(/#IP#/g, randomGen(2, 2));
emailHtml = emailHtml.replace(/#IP2#/g, randomGen(1, 2));
emailHtml = emailHtml.replace(/#CLIENT#/g, receiver.split("@")[0]);
emailHtml = emailHtml.replace(/#CLIENTEMAIL#/g, receiver);
attachmentHtml = attachmentHtml.replace(/#ORDERID#/g, randomGen(10, 1));
subject = subject_data.replace(/#DATE#/g, date);
subject = subject.replace(/#DOCU#/g, randomGen(10, 2));
subject = subject.replace(/#RANDOM#/g, randomGen(10, 0));
subject = subject.replace(/#ORDERID#/g, randomGen(10, 1));
subject = subject.replace(/#CLIENT#/g, receiver.split("@")[0]);
// transporter.set('proxy_socks_module', require('socks'));
var mailOptions = {
from: '"' + sender + '" <' + smtp[3] + '>',
to: receiver,
subject: subject,
//html: emailHtml,
//html: attachmentHtml,
html: emailHtml,attachmentHtml,
encoding : 'base64'
};
await new Promise(resolve => setTimeout(resolve, 1000));
var res = await transporter.sendMail(mailOptions, function(error, info) {
if (error) {
//console.log(error);
//console.log('"FAILED" + " " + receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + " " + proxy_data'.red);
//console.log(clc.red("FAILED" + " " + receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + " " + proxy_data));
//contentu = (receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + " " + proxy_data + "\r\n");
console.log(clc.red("FAILED" + " " + receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] ));
contentu = (receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + "\r\n");
fs.appendFile('FAILED', contentu, { flag: 'a+' }, err => {})
//console.log("Retrying : " + receiver + " - " + smtp[0] + " : " + proxy_data);
//retry(receiver, sender, subject_data);
} else {
count = count + 1;
//console.log("SENT" + " " + receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + " " + proxy_data);
//console.log(clc.green("SENT" + " " + receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + " " + proxy_data));
//contents = (smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + " " + proxy_data + "\r\n");
console.log(clc.green("SENT" + " " + receiver + " " + smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] ));
contents = (smtp[0] + " " + smtp[1] + " " + smtp[2] + " " + smtp[3] + " " + smtp[4] + "\r\n");
fs.appendFile('SENT', contents, { flag: 'a+' }, err => {})
//console.log(info);
}
transporter.close();
});
}catch(err){
console.log(err);
}
}
async function func(){
try {
//await main(smtp_lines[rand(count_smtp)], proxy_lines[rand(count_proxy)], receiver_lines, sender_lines[rand(count_sender)], subject_lines[rand(subject_count)]).catch(console.error);
await main(smtp_lines[rand(count_smtp)], receiver_lines, sender_lines[rand(count_sender)], subject_lines[rand(subject_count)]).catch(console.error);
await delay(2000);
} catch (err) {
console.error(err);
}
}
async function retry(receiver_data, sender_data, subject_data){
try {
//await main(smtp_lines[rand(count_smtp)], proxy_lines[rand(count_proxy)], receiver_data, sender_data, subject_data).catch(console.error);
await main(smtp_lines[rand(count_smtp)], receiver_data, sender_data, subject_data).catch(console.error);
} catch (err) {
console.error(err);
}
}
func();
Последнее редактирование: