Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.01.2008, 19:41
Lunina Lunina вне форума
Прохожий
 
Регистрация: 19.01.2008
Сообщения: 1
Репутация: 10
По умолчанию Помогите отправить письмо на дельфях

Задача простая – залогиниться на серваке и отправить сообщение на мыло. В дельфях мало понимаю, поэтому не стебите особо плиз… вобщем, состряпала по мануалам в borland дельфях 7 следующий код:
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    IdPOP31: TIdPOP3;
    SMTP: TIdSMTP;
    IdMessage: TIdMessage;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
   SMTP.Port:=25;
   
  SMTP.Host:='smtp.mail.ru';
   SMTP.Username:='vasya@mail.ru';
   SMTP.Password:='12345666';
   SMTP.AuthenticationType:=atLogin;
   with IdMessage do
      begin
        Body.Assign(Memo1.Lines);
        From.Text := 'vasya@mail.ru';
        Recipients.EMailAddresses := 'masha@mail.ru';
        Subject := 'hello';

        end;

      SMTP.Connect;
         try
      showmessage('Произошло подключение к серверу');
      SMTP.Send(IdMessage);
         finally
           SMTP.Disconnect;
         end;
end;

end.
Admin:
Учимся правильно оформлять код!


При нажатии на кнопку ‘послать’ все виснет и вылезает ошибка на строке SMTP.Host:='smtp.mail.ru';

Debugger Exception Notification:
Project Project.exe raised exception class EAccess Violation with message ‘Access violation at address 0046E5EE in module ‘Project.exe’. Read of address 00000000’. Process stopped…


Как с этим бороться? Что я делаю не так? И еще маленький вопрос: как к сообщению приаттачить файл ? например файл с:\1.txt

Последний раз редактировалось Admin, 19.01.2008 в 19:58.
Ответить с цитированием
  #2  
Старый 19.01.2008, 19:51
vitalik007 vitalik007 вне форума
Прохожий
 
Регистрация: 12.10.2007
Адрес: Минск
Сообщения: 30
Репутация: 10
По умолчанию

я конечно в отправке писем слабо понимаю
Но такого рода ошибка вылезает когда забыл создать объект
Ответить с цитированием
  #3  
Старый 19.01.2008, 20:14
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Восклицание

Тут дело вот в этих строчках:
Код:
...
   SMTP.Username:='vasya@mail.ru';
   SMTP.Password:='12345666';
...
 From.Text := 'vasya@mail.ru';
Просто чего-то не правильно в них, например
SMTP.Username не пишется 'vasya@mail.ru', а например: "vasya", но здесь ошибки тольк в этих строчках, т.к. я ставил заместо них свои данные и все без ошибок
__________________
Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей
Ответить с цитированием
  #4  
Старый 19.01.2008, 20:18
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Счастье

Например вот это работает:
Код:
begin
  SMTP.Host:='mail.58r.ru';
  SMTP.Port:=25;   
  SMTP.Username:='test+58r.ru'; 
  SMTP.Password:='12345666';    
  SMTP.AuthenticationType:=atLogin;
 with IdMessage do
     begin
      Body.Assign(Memo1.Lines);
      From.Text := 'test@58r.ru';
      Recipients.EMailAddresses := 'masha@mail.ru';
      Subject := 'Hello';
      end;
   SMTP.Connect;
   try
  showmessage('Подключено');
  SMTP.Send(IdMessage);
   finally
      SMTP.Disconnect;
   end;
end;
__________________
Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:52.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter