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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2012, 19:54   #1
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию Synapse. Отправка писем, используя SMTP.

Всем привет!)
Появилась у меня на днях тут задача отправить письмо на email!
Порылся в нете нашел эту статью вроде бы все хорошо, но с аккаунта mail.ru письма отправляться не хочят, пробовал smtp.mail.ru:25 указывать все без толку..попробовал просто авторизоваться через smtpsend вроде логинюсь, а письмо не шлется..пробовал через smtp моего хостера все норм..Что же делать??Переходить на indy не резон...но если это только не последний вариант..
Кольша вне форума Ответить с цитированием
Старый 14.12.2012, 20:04   #2
xoodoo
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 212
По умолчанию

Цитата:
письма отправляться не хочят
Ну да, прямо вот так и говорят - "мы, письма, отправляться не хочаем"

Цитата:
а письмо не шлется
Прямо вот так и говорит тебе - "я, письмо, не шлёюсь" ?

Рассуждения и аргументы не программиста, но школяра.
xoodoo вне форума Ответить с цитированием
Старый 14.12.2012, 20:11   #3
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Я как бы привел тебе то, что я авторизовался через smtp, но письмо не отправляется.
Результат функции положительный, но письмо не приходит.
А кроме того, что я школяр есть что сказать?Или вы только и можете, что писать не грамотно, как питекантроп?
Кольша вне форума Ответить с цитированием
Старый 14.12.2012, 23:06   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Значит авторизуетесь не правильно. Оно то вас авторизовало, но письма вы при такой авторизации отправлять не можете. И вообще где код?
Человек_Борща вне форума Ответить с цитированием
Старый 14.12.2012, 23:23   #5
xoodoo
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 212
По умолчанию

Цитата:
писать не грамотно..питекантроп
Поучи меня еще, грамотей-гомосовремениус)
"Не грамотно" в данном контексте пишется слитно - заруби на носу.

Цитата:
Результат функции положительный
Какой функции-то ?
Где ты в примере функцию увидел ?
SendMail, если ты о ней, - это процедура, никакого результата она не возвращает и судить об успехе отправки попросту не по чему - автор сего "шедевра" используя ключевую во всей этой бодяге функцию SendToRaw как процедуру, нагло и бездумно игнорирует возвращаемый ею результат, который мог бы мгновенно прояснить причину недоставки.

Цитата:
через smtpsend
Там тоже чуть ли не каждый метод функциональный - если возвращает false, то resultcode и resultstring тут же даст исчерпывающую инф-цию об отказе.
xoodoo вне форума Ответить с цитированием
Старый 15.12.2012, 06:50   #6
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Код с использованием функции
Код:
function SendMail (pHost, pSubject, pTo, pFrom , pTextBody, pHTMLBody,L,P : string):bool;
    var tmpMsg : TMimeMess;
        tmpStringList : TStringList;
        tmpMIMEPart : TMimePart;
begin
    tmpMsg := TMimeMess.Create;
    tmpStringList := TStringList.Create;
    try
        // Headers
        tmpMsg.Header.Subject := pSubject;
        tmpMsg.Header.From := pFrom;
        tmpMsg.Header.ToList.Add(pTo);

        // MIMe Parts
        tmpMIMEPart := tmpMsg.AddPartMultipart('alternate',nil);
 
        if length(pTextBody)>0 then
           begin
             tmpStringList.Text := pTextBody;
             tmpMsg.AddPartText(tmpStringList, tmpMIMEPart);
           end
        else
          begin
            tmpStringList.Text := pHTMLBody;
            tmpMsg.AddPartHTML(tmpStringList, tmpMIMEPart);
          end;

        //if Form1.Edit1.Text<>'' then
          //  tmpMsg.AddPartBinaryFromFile(Form1.Edit1.Text,tmpMIMEPart)
        // ???????? ? ??????????
        tmpMsg.EncodeMessage;
        result:=smtpsend.SendToRaw(pFrom, pTo, pHost, tmpMsg.Lines, l, p);

    finally
        tmpMsg.Free;
        tmpStringList.Free;
    end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
if sendmail('smtp.mail.ru','Test programm','admin@ksware.ru','ovchinnikovnikola@mail.ru','Ya test mail','','ovchinnikovnikola@mail.ru','*****') then
showmessage('YES') else showmessage('NO')
end;
// return False
Код авторизации через Tsmtpsend
Код:
var
s:Tsmtpsend;
begin
s:=Tsmtpsend.Create;
s.TargetHost:='smtp.mail.ru';
s.TargetPort:='25';
s.UserName:='ovchinnikovnikola@mail.ru';
s.Password:='*******';
if s.Login then
showmessage('YES') else showmessage('NO')
//return Yes
Кольша вне форума Ответить с цитированием
Старый 15.12.2012, 11:24   #7
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

xoodoo, вместо того, что высказывать свои не нужные мысли могли бы помочь!
Проблема решилась..нужно было имя PC писать английскими буквами..
Есть два варианта подправить модуль или переименовать комп.
Кольша вне форума Ответить с цитированием
Старый 15.12.2012, 17:06   #8
xoodoo
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 212
По умолчанию

[QUOTE]result:=smtpsend.Send/QUOTE]

И ты продолжишь нагло врать про положительный результат ?


Цитата:
нужно было имя PC писать английскими буквами
Нужно было не пальцы свои тут гнуть, а открыть tfc 821/2821 и проштудировать там синтаксис HELO/EHLO-команды.


Цитата:
не нужные мысли
Что в лоб что по лбу)

Да слитно же пишется это, школота унылая !
xoodoo вне форума Ответить с цитированием
Старый 15.12.2012, 17:53   #9
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Оо жизнерадостный дегенерат проснулся
Взял бы да и проштудировал!Хотя наверно с твоим мозгом это не возможно т.к. ты даже слово оригинальней придумать не можешь..(школота|школота унылая)
Кольша вне форума Ответить с цитированием
Старый 15.12.2012, 18:30   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Есть два варианта подправить модуль или переименовать комп.
Тупо переводить имя ПК в транслит если его буквы в диапазоне А-Яа-я, не?

Больше ненависти!111111

Последний раз редактировалось Человек_Борща; 15.12.2012 в 18:34.
Человек_Борща вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отправка файла synapse Slimshaddy Работа с сетью в Delphi 3 30.07.2013 01:27
Отправка писем alcohol40 ASP.NET 0 23.09.2012 06:45
Отправка почты через SMTP с использованием Synapse chandrasecar Работа с сетью в Delphi 5 26.06.2012 13:04
Synapse и отправка Cookies SBodry Работа с сетью в Delphi 2 09.04.2012 12:35
Как отобразить в ProgressBar процесс отправки писем через SMTP leon2009 Работа с сетью в Delphi 15 20.03.2009 21:26