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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2015, 15:03   #1
hapera2
Пользователь
 
Регистрация: 12.11.2013
Сообщений: 65
По умолчанию Отправка письма Synapse

Приветствую.
Вожусь с отправкой письма, используя синапс, уже неделю. Ничего не получается.
Пробовал и 587 и 465 порт. Возвращает false.

Код:
function SendMail (Host, Subject, pTo, From , TextBody,
                HTMLBody, login,password,filename : string) : boolean;
var Msg : TMimeMess; // сообщение
    StringList : TStringList; // содержимое письма
    MIMEPart : TMimePart; // части сообщения (на будущее)
begin
    Msg := TMimeMess.Create; // создаем новое сообщение
//      IdealCharsets:=[CP1251];
//      Msg.Header.CharsetCode:='CP1251';
      StringList := TStringList.Create;
      try
        // Добавляем заголовки
        Msg.Header.Subject := Subject;// тема сообщения
        Msg.Header.From := From; // имя и адрес отправителя
        Msg.Header.ToList.Add(pTo); // имя и адрес получателя
        // создаем корневой элемент
//        MIMEPart := Msg.AddPartMultipart('alternative', nil);
          Msg.AddPartMultipart('', nil);
        if length(TextBody)=0 then
        // если формат HTML
          begin
            StringList.Text := HTMLBody;
            Msg.AddPartHTML(StringList, Msg.MessagePart);
          end
        else
        // если текстовый формат
          begin
            StringList.Text := TextBody;
            Msg.AddPartText(StringList, Msg.MessagePart);
          end;
          if filename<>'' then
            Msg.AddPartBinaryFromFile(filename,Msg.MessagePart);

        // Кодируем и отправляем
        Msg.EncodeMessage;
        // Отправляем.
        if smtpsend.SendToRaw(From,pTo,Host,Msg.Lines,login,password) then
            SendMail:=true
        else
            SendMail:=false;

     finally
       Msg.Free;
       StringList.Free;
     end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
salut:tstrings;
begin
  if  sendmail('smtp.gmail.com:465','Tema','*****@yandex.ru','*******@gmail.com','Text one two free','','********@gmail.com','*******','') then
  showmessage('YES')
  else
   showmessage('no');
end;
Кто-нибудь сейчас работает с почтой вообще? Можете скинуть рабочий код?

Последний раз редактировалось hapera2; 15.08.2015 в 15:18.
hapera2 вне форума Ответить с цитированием
Старый 17.08.2015, 23:48   #2
Avazart
Форумчанин
 
Аватар для Avazart
 
Регистрация: 13.08.2011
Сообщений: 184
По умолчанию

Нужен SSL, ну и порты соответствующие- защищенные.
Avazart вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Lazarus/Synapse: Отправка через прокси Костян Пират Lazarus, Free Pascal, CodeTyphon 2 15.08.2014 14:23
отправка файла synapse Slimshaddy Работа с сетью в Delphi 3 30.07.2013 01:27
Отправка запроса Synapse Imbalancez Работа с сетью в Delphi 6 07.07.2013 10:49
Synapse и отправка Cookies SBodry Работа с сетью в Delphi 2 09.04.2012 12:35
synapse кодировка(?) письма jskorvin Работа с сетью в Delphi 0 03.01.2011 16:29