Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2014, 17:27   #11
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

Цитата:
Сообщение от indexx Посмотреть сообщение
По тому что ты не программист. Хотел дать подсказку, но не дам, ибо НЕ ФИГ!
на фиг твою подсказку
alman12 вне форума Ответить с цитированием
Старый 08.10.2014, 17:48   #12
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

1. Кинь компонент idSSLIOHandlerSocket с вкладки IOHandlers.
2. Задай свойству компонента idSMTP IOHandler значение idSSLIOHandlerSocket1(если не менял name после того как кинул на форму).
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 08.10.2014, 17:56   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
почему не отправляется на емаил
Показывай код. А лучше выкладывай в архиве проект полностью.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.10.2014, 18:03   #14
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, IdBaseComponent,
  IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase,
  IdMessageClient, IdSMTPBase, IdSMTP, IdMessage, IdPOP3, IdIOHandler,
  IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL, IdHTTP,
  IdAntiFreezeBase, Vcl.IdAntiFreeze, IdCoder, IdCoder3to4, IdCoderMIME,
  IdServerIOHandler;

type
  TForm1 = class(TForm)
    Button1: TButton;
    IdSMTP1: TIdSMTP;
    IdMessage1: TIdMessage;
    Button2: TButton;
    Button3: TButton;
    Memo1: TMemo;
    IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
    IdAntiFreeze1: TIdAntiFreeze;
    IdEncoderMIME1: TIdEncoderMIME;
    IdServerIOHandlerSSLOpenSSL1: TIdServerIOHandlerSSLOpenSSL;
    IdSSLIOHandlerSocketOpenSSL2: TIdSSLIOHandlerSocketOpenSSL;
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function ConvertToWIN1251(instr:string):string;
begin
  result:='=?'+'Windows-1251'+'?B?'+form1.IdEncoderMIME1.Encode(instr)+'?=';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
IdSMTP1.AuthType:= satDefault;
  IdSMTP1.Username:='-------------'; //Логин
  IdSMTP1.Password:='-----------'; //Пароль
  IdSMTP1.Host:='smtp.mail.ru'; //Хост
  IdSMTP1.Port:=25;
  IdMessage1.CharSet:='windows-1251'; //Кодировка в теле сообщения
  IdMessage1.ContentType:='text/plain';
  IdMessage1.Body.text:='Hello'; 
  IdMessage1.Subject:=ConvertToWIN1251('salam'); 
  IdMessage1.From.Address:='----------'; //Адрес отправителя
  //IdMessage1.From.Name:=ConvertToWIN1251('User'); //Имя отправителя
  IdMessage1.Recipients.EMailAddresses:='---------';
  IdMessage1.IsEncoded:=true;
  try
    IdSMTP1.Connect();
    IdSMTP1.Send(IdMessage1);
    showmessage('Сообщение отправлено');
  except
    showmessage('Ошибка при отправке сообщения');
  end;
IdSMTP1.Disconnect;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
 IdSMTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
IdServerIOHandlerSSLOpenSSL1.SSLOptions.Method :=sslvTLSv1;

 idSMTP1.Host := 'smtp.mail.ru';
  idSMTP1.Port := 25;
  idSMTP1.Username:= '---------';
  idSMTP1.Password:= '-----------';
   IdMessage1.Body.Text := '----------';
    IdMessage1.From.text:= '----------';
IdMessage1.From.Address:='-----------';
  IdMessage1.Recipients.EMailAddresses:='------------';
 IdMessage1.Subject :=  'Test';
     idSMTP1.Authenticate;
    try
      try
        idSMTP1.Connect();
        idSMTP1.Send(idMessage1);

      except
        on E:Exception do
        begin
          ShowMessage('Cannot send E-Mail: ' + E.Message);

        end;
      end;
    finally

  end;

end;

end.

вес код

libeay32.dll и ssleay.dll в папке с проектом

Последний раз редактировалось alman12; 08.10.2014 в 18:20.
alman12 вне форума Ответить с цитированием
Старый 08.10.2014, 18:19   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
IdSMTP1.Port:=25;
Для зашифрованного канала если не ошибаюсь нужен другой порт.
Какой - смотри на mail.ru в описании техподдержки. По идее 443 стандартом идет, но нужно уточнять.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.10.2014, 18:28   #16
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

везде написано что порт mail.ru 25
ранше в delphi7 порт был 25

вот с mail.ru


Порт — IMAP — 143 (протокол шифрования STARTTLS) или 993 (протокол шифрования SSL/TLS)
POP3 — 995 (протокол шифрования SSL/TLS)
SMTP — 465 (протокол шифрования SSL/TLS).

Последний раз редактировалось Stilet; 08.10.2014 в 19:47.
alman12 вне форума Ответить с цитированием
Старый 08.10.2014, 18:45   #17
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
везде написано что порт mail.ru 25
А ты не везде читай а конкретно у самого mail.ru.
Для зашифрованного соединения нужен порт 465.

Когда же вы начнете сами чуть соображать? Своё же личное время тратите на ожидание ответов на форуме.
Человек_Борща вне форума Ответить с цитированием
Старый 08.10.2014, 18:46   #18
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

c mail.ru

Порт — IMAP — 143 (протокол шифрования STARTTLS) или 993 (протокол шифрования SSL/TLS)
POP3 — 995 (протокол шифрования SSL/TLS)
SMTP — 465 (протокол шифрования SSL/TLS).

пробовал все не отправляется

в delphi 7 ранше без проблем работаль

не требовалось SSL

Последний раз редактировалось Stilet; 08.10.2014 в 19:47.
alman12 вне форума Ответить с цитированием
Старый 08.10.2014, 19:49   #19
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
  except
 on e:Exception do
     showmessage('Ошибка при отправке сообщения:'+e.message);
  end;
И текст сообщения сюда.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.10.2014, 20:00   #20
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

ничего не пишется
alman12 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не отправляется письмо через SMTP. hapera2 Работа с сетью в Delphi 6 27.09.2014 11:20
Не отправляется запрос nibufep Общие вопросы Delphi 12 17.09.2014 17:45
Не отправляется сообщение GrindeX C/C++ Сетевое программирование 2 23.09.2011 13:14
не отправляется почта al_go_r1tm HTML и CSS 1 01.07.2010 15:58
SMTP и Прокси. Не отправляется письмо. Abbatik Работа с сетью в Delphi 0 03.02.2010 08:13