Четверг, 25.04.2024, 15:47 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: xXxSh@dowxXx, Anton93, Волк-1024  
delphicode » Delphi » Вопросы по Delphi » Помощь с почтой (!!!)
Помощь с почтой
SwanДата: Понедельник, 01.07.2013, 12:14 | Сообщение # 1
Новичок
Зарегистрирован: 16.06.2013
Группа: Пользователи
Сообщений: 45
Статус: Offline
Делать было не чего, решил написать спаммер на smtp, но после не скольких сотен писем, мой аккаунт отправили в отпуск(в спам).Может кто знает как избежать этого?Или может есть другие почтовики, которые не отправляют в спам?Я пробывал рамблер и яндекс, все блочат.

Жизнь сложна когда учишься на своих ошибках, а зачем учиться на своих, не проще ли на чужих?
 
okeДата: Пятница, 05.07.2013, 21:15 | Сообщение # 2
Постоянный
Зарегистрирован: 15.01.2012
Группа: Пользователи
Сообщений: 124
Статус: Offline
берешь бд из 500 майлов реализуешь потоки и тд
 
phlДата: Суббота, 25.01.2014, 00:20 | Сообщение # 3
Был не раз
Зарегистрирован: 28.08.2010
Группа: Пользователи
Сообщений: 20
Статус: Offline
Подскажите.пожалуйста,по отправке файла через SMTP, погуглив нашёл примерно такое,кидание компонентов на форму, как мне сделать, чтобы письмо отправлялось не на кнопку на форме, а при запуске приложения и отправлялось например через каждые пять минут или мне нужно делать его как консольное приложение, подскажите в какую сторону копать, всю голову уже сломал, в дельфи я не сильный спец.
Код

Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdMessage, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, IdPOP3, IdCoder,
IdCoder3to4, IdCoderMIME;

type
TForm1 = class(TForm)
Button1: TButton;
IdMessage1: TIdMessage;
IdSMTP1: TIdSMTP;
IdEncoderMIME1: TIdEncoderMIME;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

//Функция конвертирования в кодировку windows-1251
function ConvertToWIN1251(instr:string):string;
begin
result:='=?'+'Windows-1251'+'?B?'+form1.IdEncoderMIME1.Encode(instr)+'?=';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
attach: TidAttachment;
begin

IdSMTP1.AuthenticationType:= atLogin;
IdSMTP1.Username:='user@mail.ru'; //Логин
IdSMTP1.Password:='password'; //Пароль
IdSMTP1.Host:='smtp.mail.ru'; //Хост
//Хосты: smtp.inbox.ru; smtp.list.ru; smtp.bk.ru; smtp.yandex.ru и т.д.
IdSMTP1.Port:=25; //Порт (25 - по умолчанию)
//Порты mail.ru: 587 и 2525 (без шифрования) или 465 (с шифрованием)

IdMessage1.CharSet:='windows-1251'; //Кодировка в теле сообщения
IdMessage1.ContentType:='text/plain';
IdMessage1.Body.Add('Текст'); //Текст сообщения
IdMessage1.Subject:=ConvertToWIN1251('Тема'); //Тема сообщения
IdMessage1.From.Address:='user@mail.ru'; //Адрес отправителя
//IdMessage1.From.Name:=ConvertToWIN1251('User'); //Имя отправителя
IdMessage1.Recipients.EMailAddresses:='send_user@mail.ru'; //Кому отправить письмо (можно через запятую если несколько e-mail'ов)
IdMessage1.IsEncoded:=true;
//attach:=TIdAttachment.Create(IdMessage1.MessageParts,'Путь до файла'); //Вложение

try
//Соединение с почтовым сервером
IdSMTP1.Connect();
IdSMTP1.Send(IdMessage1);
showmessage('Сообщение отправлено');
except
showmessage('Ошибка при отправке сообщения');
end;
//Отсоединяемся от почтового сервера
IdSMTP1.Disconnect;
end;

end.]


Сообщение отредактировал phl - Суббота, 25.01.2014, 00:21
 
xXxSh@dowxXxДата: Суббота, 25.01.2014, 01:07 | Сообщение # 4
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
вполне обычный код, правда я не совсем понял для чего тут используется функция конвертирования в кодировку windows-1251

код и без этого должен работать

а что бы запускалось сразу, а не по кнопке, скопируй весь этот код который в кнопке прописан, и вставь его в событие OnCreat формы к примеру, а кнопку удали, можно еще форму скрыть если необходимо.

Если у тебя с делфи совсем все плохо, то вот примерно как должно получиться:


Сообщение отредактировал xXxSh@dowxXx - Суббота, 25.01.2014, 01:16
 
phlДата: Суббота, 25.01.2014, 16:14 | Сообщение # 5
Был не раз
Зарегистрирован: 28.08.2010
Группа: Пользователи
Сообщений: 20
Статус: Offline
xXxSh@dowxXx, спасибо тебе огромное, сам я ещё бы неделю разбирался, все получилось,подскажите ещё, как мне настроить отправку сообщений, через определённое время, т.е. программа запущена, а сообщения отправляются например через каждые пять минут
 
xXxSh@dowxXxДата: Суббота, 25.01.2014, 17:57 | Сообщение # 6
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Цитата phl ()
подскажите ещё, как мне настроить отправку сообщений, через определённое время, т.е. программа запущена, а сообщения отправляются например через каждые пять минут


тебе необходимо создать повторяющийся цикл, в котором нужно прописать часть кода выполняющую отправку письма, и в конце цикла добавить команду Sleep(300000);

почему именно 300000 ?
потому что в Sleep(); одна секунда = (1000), следовательно 1 минута = (60000), ну а 5 минут (300000)

вот как то так должно выглядеть:

это все таки слишком топорный код, в идеале нужно еще конечно обрабатывать выход из цикла или его прерывание.


Сообщение отредактировал xXxSh@dowxXx - Суббота, 25.01.2014, 18:08
 
phlДата: Воскресенье, 26.01.2014, 12:28 | Сообщение # 7
Был не раз
Зарегистрирован: 28.08.2010
Группа: Пользователи
Сообщений: 20
Статус: Offline
xXxSh@dowxXx, спасибо,всё работает
 
ms301Дата: Пятница, 31.01.2014, 21:40 | Сообщение # 8
Постоянный
Зарегистрирован: 28.11.2012
Группа: Пользователи
Сообщений: 101
Статус: Offline
или таймер использовать. При использовании sleep кажется форма не отвечает.
 
xXxSh@dowxXxДата: Пятница, 31.01.2014, 21:46 | Сообщение # 9
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Цитата ms301 ()
При использовании sleep кажется форма не отвечает

так то оно так, но есть такая полезная штука как Application.ProcessMessages;
но как я понял ему не требуется использовать форму.
 
StertorДата: Суббота, 01.03.2014, 17:45 | Сообщение # 10
Группа: Удаленные



Нужно спамить в потоках, к тому же рекомендуется реализовать рандомную задержку.
При отправке письма его текст должен постоянно модифицироваться, чтобы почтовый сервер не посчитал его за спам: в крайнем случае, добавляйте к тексту письма рандомную строку, например:
Код

   txt:=inttostr(random(200))+inttostr(random(200)) ...

Это то, что касается спама. Если же флудите, помните, что 100-200 сообщений, которые Вы отправитена на мыло жертвы с одного единственного idsmtp лишь слегка пощекочут ему нервы. Нужно отправить не менее 10 000 - 30 000 сообщений, чтобы наглухо забить ему мыло.


Сообщение отредактировал Stertor - Суббота, 01.03.2014, 17:46
 
xXxSh@dowxXxДата: Воскресенье, 02.03.2014, 11:56 | Сообщение # 11
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Цитата Stertor ()
Нужно отправить не менее 10 000 - 30 000 сообщений, чтобы наглухо забить ему мыло.

это да, но и то, я от 16.000 сообщений от собственного спамера в свое время нормально отчистился, хотя на это ушло несколько дней)))))
и по мимо изменений самого текста необходимо и что бы отправитель менялся, не с одного же отправителя слать такую кипу сообщений.


Сообщение отредактировал xXxSh@dowxXx - Воскресенье, 02.03.2014, 11:57
 
delphicode » Delphi » Вопросы по Delphi » Помощь с почтой (!!!)
  • Страница 1 из 1
  • 1
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz