Показаны сообщения с ярлыком SMTP. Показать все сообщения
Показаны сообщения с ярлыком SMTP. Показать все сообщения

четверг, 12 января 2017 г.

Настройки Yahoo! SMTP

настройки яху смтп
Yahoo! SMTP server address: smtp.mail.yahoo.com
•Yahoo! SMTP user name: your Yahoo! Mail account
•Yahoo! SMTP password: your Yahoo! Mail password
•Yahoo! SMTP port: 465

четверг, 1 октября 2015 г.

Gmail error: Please log in via your web browser and then try again

Situation

My web application sends email messages from website with gmail-account smtp credentials (login / password / SMTP server / port)

Error

When debugging an application on the local server - everything is OK.
Once the load on Web Hosting - i've got an error

534-5.7.14 Please log in via your web browser and then try again. 534-5.7.14 Learn more at 534 5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 18sm42904851wju.15 - gsmtp

Research

Googling helps. Оne of the answers here was usefull
http://stackoverflow.com/questions/20337040/gmail-smtp-debug-error-please-log-in-via-your-web-browser

Solution

The essence of the problem in my case:
Gmail blocks mails from unknown IP-addresses.
I wasn't able do the Google's advice ("Please log in via your web browser") from IP addres of my hosting server.

So, it was necessary to turn off the google blocking of unknown address through this link
https://accounts.google.com/DisplayUnlockCaptcha

UPD
Also I allow unsecured Apps on the page
https://myaccount.google.com/lesssecureapps

Related links

Gmail SMTP debug: error “please log in via your web browser”
http://stackoverflow.com/questions/20337040/gmail-smtp-debug-error-please-log-in-via-your-web-browser

вторник, 3 июня 2014 г.

gmail Ошибка Please log in via your web browser and then try again

Attention! For your convenience this material is available in English



Ситуация


делаю отправку через веб-сайт емейлов от имени gmail-аккаунта (задаю логин/пароль/SMTP сервер/порт)

Ошибка

При отладке приложения на локальном сервере - все ок.
Как только загружаю на хостинг - выдает ошибку

534-5.7.14 Please log in via your web browser and then try again. 534-5.7.14 Learn more at 534 5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 18sm42904851wju.15 - gsmtp 


Исследование

погуглил. помог один из ответов отсюда
http://stackoverflow.com/questions/20337040/gmail-smtp-debug-error-please-log-in-via-your-web-browser

Решение

Суть проблемы в моем случае
Gmail блокирует почту с незнакомых IP-адресов
Естественно выполнить с IP-адреса хостинга пожелание гугла залогиниться в веб-почту ("Please log in via your web browser") я не смог.

Соответственно нужно было отключить блокировку незнакомых адресов через эту ссылку
https://accounts.google.com/DisplayUnlockCaptcha

UPD
также разрешил ненадежные приложения через
https://myaccount.google.com/lesssecureapps

См. также

Gmail SMTP debug: error “please log in via your web browser”
http://stackoverflow.com/questions/20337040/gmail-smtp-debug-error-please-log-in-via-your-web-browser

четверг, 7 февраля 2013 г.

Delphi отправить сообщение с уведомлением о доставке Indy-компоненты

Задача
Отправить сообщение с уведомлением о доставке

Средства реализации
Delphi 7, компоненты Indy 10

Решение

В сообщении TIdMessage устанавливает поле ReceiptRecipient

 lMessage.ReceiptRecipient.Text:= 'a@b.com';


Что происходит на фоне: устанавливается заголовок  в письме Read-Receipt-To


Продолжение темы
Если вы захотите автоматически разбирать подтверждения о доставке, смотрите статью
Delphi Indy 10 POP3 пример


UPD
Возникла проблема, которую пока не знаю как решить. Веб-интерфейс mail.ru игнорирует адрес из заголовка ReceiptRecipient. Уведомления о доставке он отправляет на адрес отправителя.

Вопросы/пожелания/предложения оставляйте кв комментариях

см. также

Общие вопросы отправки почты через Indy 10
http://dev-doc.blogspot.com/2012/08/delphi-indy-10.html

заголовки почтовых сообщений
http://www.activexperts.com/smtp-pop3-component/headers/


тут еще есть ссылка на заголовок X-Confirm-Reading-To
я его не использовал
http://delphimaster.net/view/6-25490

обсуждение вопросов гарантированной доставки
http://stackoverflow.com/questions/3525145/email-open-notification-ruby-on-rails/3525199#3525199

описание класса TIDMessage
http://kumanov.com/docs/prog/indy/007544.html

вторник, 21 августа 2012 г.

Delphi Indy 10 SMTP Кодировки и SSL Решение все в одном


При отправке писем через SMTP компоненты Indy в Delphi 7 наталкивался периодически на разные проблемы.
Варианты проблем:

  • отправка писем от машин, у которых - есть русские буквы в названиях
  • отправка писем через SSL
  • проблемы с кодировками в теме и теле письма

В интернете общего решения не находил - только разрозненные части.

Все решения свел здесь. может кому-то пригодится

Конфигурация системы:

  • Delphi 7, 
  • Версия компонентов Indy:10.5.9.4797 (переустанавливал вручную по статье http://conferences.embarcadero.com/article/32160  файл: Indy10_4798.zip)
  • ssl - библиотеки: openssl-1.0.0d-i386-win32.zip
    брал отсюда http://indy.fulgan.com/SSL/
    (в директорию с exe-файлом подложил libeay32.dll и ssleay32.dll)


Ключевая процедура в коде - SendEmail
Важные места подкомментировал.

uses
...

IdCoderMIME , IdMessage, IdSMTP,
IdSSLOpenSSL , IdIOHandler, IdAttachmentFile, IdExplicitTLSClientServerBase, idCharSets, idText
...

type

  //-- вспомогательный класс-заглушка для подвязки события компонента indy
  Tindystub = class(tobject)
  public
    procedure OnInitISO(var VHeaderEncoding: Char; var VCharSet: string);
  end;

procedure Tindystub.OnInitISO(var VHeaderEncoding: Char;
  var VCharSet: string);
begin
  VCharSet := IdCharsetNames[ idcs_UTF_8 ];
end;


procedure SendEmail(
    aSmtpServer: string;
    aSmtpPort: integer;
    aSmtpLogin: string;
    aSmtpPassword: string;
    aFromAddress: string;
    aFromName: string;
    aToAddress: string;
    aMessageSubject: string;
    aMessageText: string;
    aAttachmentFileFullName: string;
    aUseSSL: boolean = false
    );
var
  lMessage : TIDMessage;
  lSMTP    : TIdSMTP;
  attach   : TIdAttachmentFile;
  sslHandler: TIdSSLIOHandlerSocketOpenSSL;
  lindystub: Tindystub;
  idtTextPart: TIdText;
begin
  lMessage:= TIDMessage.Create(nil);
  lSmtp:= TIDSmtp.Create(nil);
  sslHandler:= TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  lindystub:= Tindystub.Create();
  try
    lSMTP.AuthType:= satDefault;

    lSMTP.Host     := aSmtpServer;   //Хост
    lSMTP.Port     := aSmtpPort;     //Порт (25 - по умолчанию)

    lSMTP.Username := aSmtpLogin;
    lSMTP.Password := aSmtpPassword;

    //-- решаем проблему отправки писем, если у компьютера руссоке имя
    lSMTP.HeloName := 'tfo';

    //-- отправляем почту через SSL, если надо (пока тестировал только на ukr.net)
    if (aUseSSL) then
    begin
      SSLHandler.Destination := aSmtpServer+':'+IntToStr(aSmtpPort);
      SSLHandler.Host := aSmtpServer;
      SSLHandler.Port := aSmtpPort;
      SSLHandler.DefaultPort := 0;
      SSLHandler.SSLOptions.Method := sslvSSLv23;
      SSLHandler.SSLOptions.Mode := sslmUnassigned;
      lSMTP.IOHandler := SSLHandler;
      lSMTP.UseTLS := utUseImplicitTLS;
    end;

    //-- решаем вопрос кодировки темы письма
    lMessage.OnInitializeISO := lindystub.OnInitISO;

    lMessage.Subject      := aMessageSubject;
    lMessage.From.Address := aFromAddress;
    lMessage.From.Name    := aFromName;
    lMessage.Recipients.EMailAddresses:= aToAddress;

    //-- решаем вопрос кодировки тела письма
    idtTextPart := TIdText.Create(lMessage.MessageParts, nil);
    idtTextPart.ContentType := 'text/plain';
    idtTextPart.CharSet := 'Windows-1251';

    idtTextPart.Body.Text:= aMessageText;

    //-- работа со вложенными файлами
    if (aAttachmentFileFullName <> '') then
    begin
      attach:=TIdAttachmentFile.Create(lMessage.MessageParts, aAttachmentFileFullName); //Вложение
    end;

    //-- собственно отправка
    lSMTP.Connect;
    try
      lSMTP.Send(lMessage);
    finally
      lSMTP.Disconnect;
    end;

  finally
    sslHandler.Free;
    lMessage.Free;
    lSmtp.Free;
    lindystub.Free;
  end;
end;


Вопросы/пожелания/предложения оставляйте в комментариях

см. также

Обработка почты через POP3 компоненты Indy10 в Delphi 7
http://dev-doc.blogspot.com/2013/02/delphi-indy-10-pop3.html

EMAIL MESSAGES FROM DELPHI. USING INDY TO SEND E-MAILS
https://community.embarcadero.com/article/technical-articles/162-programming/5913-email-messages-from-delphi-using-indy-to-send-emails
---------------------------------
UPD
Если хотите отправить почту через ukr.net
проверьте чтобы были включен параметр "POP3 и SMTP" согласно статье
http://www.qdpro.com.ua/node/17758
(если не сделать, будет выскакивать ошибка SYSERR 417)