Массовая рассылка почты с помощью Idsmtp

Тема в разделе "Delphi - Сети", создана пользователем slavakaram, 10 дек 2007.

Статус темы:
Закрыта.
  1. slavakaram

    slavakaram Гость

    Здравствуйте!
    Для массовой рассылки почты я использую компонент idSMTP. С небольшим количеством адресов все работает хорошо, но когда адресов больше 10 (каждый раз разное количество), то начиная с n-го адреса выскакивает исключение EIdProtocolReplyError.
    Может, кто-нибудь сталкивался с этой проблемой? Наверное, это на сервере стоит какая-нибудь блокировка SPAMа. Подскажите, что делать: исправлять код или перенастраивать почтовый сервер?
     
  2. Coldfate

    Coldfate Гость

    А может, Вы превысили лимит количества сообщений. Например, на Яндексе не более 150 сообщений в день, на мэйле, по-моему, не более 3 в минуту. А вот на www.30gigs.com можно вообще указать любой адрес отправителя, таким образом, анонимное письмо. Только (вот зараза!) подключиться к ним через смтп или имап не получается :rolleyes:. Попробуй поменять сервер
     
  3. slavakaram

    slavakaram Гость

    У меня корпортаивный сервер. Но если я отсылаю, например, из Outlookа, то отслылается и 100 и 200 за раз. Так вот я и спрашиваю, может, есть какие-нибудь настройки у сервера?
     
  4. root

    root Гость

    Для: slavakaram
    try
    //подключаемся или проверяем почту или что нужно
    except
    on E: EIdProtocolReplyError do
    //пишем в мемо или лог
    Memo.Lines.Add(DateTimeToStr(Now) + ': ' + E.Message);
    end;
    потом будем разбирать
     
  5. slavakaram

    slavakaram Гость

    Сообщение "Recipients number quota exceeded")
    Причем если к письму ничего не присоединять, то это исключение вываливается намного позже, чем если присоединить даже какой-нибудь банальный jpg.
    Видимо, действительно на сервере какие-то антиспамовские настройки стоят((
    Время между посылками я делаю 2 секунды.
     
  6. root

    root Гость

    Для: slavakaram
    ну вот видиет :) сами на свой вопрос ответили :)
     
  7. slavakaram

    slavakaram Гость

    Все равно спасибо :)
     
  8. shota87

    shota87 Гость

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

    вот сам код:
    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
    IdMessageClient, IdSMTP, IdMessage;

    type
    TForm1 = class(TForm)
    IdSMTP1: TIdSMTP;
    IdMessage1: TIdMessage;
    procedure IdSMTP1Connected(Sender: TObject);
    procedure IdMessage1InitializeISO(var VTransferHeader: TTransfer;
    var VHeaderEncoding: Char; var VCharSet: String);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.IdSMTP1Connected(Sender: TObject);
    begin
    idsmtp1.Connect(5000);
    if Connected=True then IdSMTP1.Send(Msg);
    end;

    procedure TForm1.IdMessage1InitializeISO(var VTransferHeader: TTransfer;
    var VHeaderEncoding: Char; var VCharSet: String);
    begin
    Msg.Recipients.EMailAddresses:='shotalomsadze@yandex.ru,batura-87@yandex.ru';
    Msg.From.Address:='batura-87@yandex.ru';
    Msg.Body.Text:='текст сообшениа на DELPHI';
    Msg.Date:=strToDate('01.02.2009');
    end;
    IdSMTP1.Disconnect;
    end;

    ---------------------------
    вот ошибки какие программа видает:
    [Error] Unit1.pas(15): Undeclared identifier: 'TTransfer'
    [Error] Unit1.pas(33): Undeclared identifier: 'Connected'
    [Error] Unit1.pas(33): '(' expected but ')' found
    [Error] Unit1.pas(34): Incompatible types: 'TIdMessage' and 'tagMSG'
    [Error] Unit1.pas(39): Object or class type required
    [Error] Unit1.pas(39): Missing operator or semicolon
    [Error] Unit1.pas(40): Object or class type required
    [Error] Unit1.pas(41): Object or class type required
    [Error] Unit1.pas(42): Object or class type required
    [Error] Unit1.pas(44): Declaration expected but identifier 'IdSMTP1' found
    [Error] Unit1.pas(45): '.' expected but ';' found
    [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
    *********************************************************
    если кто может помогите пожалуйста очень нужно спасибо
     
  9. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    школота.. ой школота..
    1.
    Эту программу написал не ты. Ты это тупо выдрал из какой-то не лучшего качества статьи
    2.
    [Error] Unit1.pas(33): Undeclared identifier: 'Connected' Это про
    if Connected=True then IdSMTP1.Send(Msg); - вот этот момент. Переменная конктед нигде не объявлена.
    3.
    после последнего енда, должна стоять точка.
    4.
    [Error] Unit1.pas(15): Undeclared identifier: 'TTransfer' - вот это говорит о том, что у тебя нигде не объявлен класс ттрансфер. В юсес нужно добавить модуль, где объявлен этот класс. Какой модуль - F1.
    5.
    [Error] Unit1.pas(34): Incompatible types: 'TIdMessage' and 'tagMSG' - вот это говорит о не совместимости типов двух обьектов, когда ты значение одного присваиваешь другому.
    6.
    Все все остальные ошибки могут являться следствием этих...
    7. Совет. Пока ТЫ не НАУЧИШЬСЯ писать ГРАМОТНО по-русски - грамотно программировать ты точно не сможешь. Поэтому комп вырубай. Доставай из портфеля учебник русского языка и читай пока не выучишь наизусть.
    ПС. Модеры.. Вынесите что ли в отдельную тему.. Этот ребенок явно еще много вопросов задаст)
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей