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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2011, 11:00   #1
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию Отправка письма с влажением на 2009

как можно отправиться письмо на почту с делфи 2009 с вложением ?? есть код на 7 написан но на 2009 не работает он

Код:
unit Unit4;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ExtCtrls, ImgList, StdCtrls, inifiles, IdMessage,
  IdCookieManager, IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, IdMessageClient,
  IdSMTPBase, IdSMTP, idattachment;

type
  TForm4 = class(TForm)
    GroupBox1: TGroupBox;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Memo1: TMemo;
    Edit5: TEdit;
    Button2: TButton;
    Label1: TLabel;
    CheckBox1: TCheckBox;
    TrayIcon1: TTrayIcon;
    ImageList1: TImageList;
    Timer1: TTimer;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    Label2: TLabel;
    Label3: TLabel;
    IdSMTP1: TIdSMTP;
    IdAntiFreeze1: TIdAntiFreeze;
    IdCookieManager1: TIdCookieManager;
    IdMessage1: TIdMessage;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;
   ini:Tinifile;
implementation

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);
var
 att:Tidattachment;
begin
ini.WriteString('mail','login', edit1.Text);
ini.WriteString('mail','pass', edit2.Text);

IdSMTP1.Host:='smtp.yandex.ru';
IdSMTP1.Port:=25;
IdSMTP1.Username:='Логин ';
IdSMTP1.Password:='пароль';

IdMessage1.From.Text:='От кого';
IdMessage1.Body.Text:='Текст';
IdMessage1.Subject:='Тема';
IdMessage1.Recipients.EMailAddresses:='Кому';
IdMessage1.MessageParts.Clear;
idsmtp1.Connect();
if idsmtp1.Connected then
begin
idsmtp1.Send(IdMessage1);
MessageDlg('Отправка завершена',mtInformation,[mbOk],0);
end;
Idsmtp1.Disconnect;
end;

procedure TForm4.Button2Click(Sender: TObject);
begin
if OpenDialog1.Execute=true then
begin
edit5.Text:=opendialog1.FileName;
end

end;

procedure TForm4.FormCreate(Sender: TObject);
begin
 ini:=Tinifile.Create('C:\windows\pochta.ini');
end;

procedure TForm4.N1Click(Sender: TObject);
begin
show;
end;

procedure TForm4.N2Click(Sender: TObject);
begin
hide;
end;

procedure TForm4.N3Click(Sender: TObject);
begin
close;
end;

procedure TForm4.Timer1Timer(Sender: TObject);
begin
label1.Caption:=inttostr(length(memo1.Text));
end;

end.
cargo29 вне форума Ответить с цитированием
Старый 15.01.2011, 17:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А какие ошибки то выдает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.01.2011, 19:03   #3
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А какие ошибки то выдает?
код недописано вот он

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
att:Tidattachment;
begin
IdSMTP1.Host:='smtp.yandex.ru';
IdSMTP1.Port:=25;
IdSMTP1.Username:='логин';
IdSMTP1.Password:='Пароль';
IdMessage1.From.Text:='cargo29@ya.ru';
IdMessage1.Body.Text:='dasdsadsadsadsadsadsadsadsadsadsadsadsada';
IdMessage1.Subject:='fdsfdsfdsfdfdsfsdfdsfdsf';
IdMessage1.Recipients.EMailAddresses:='cargo29@ya.ru';
IdMessage1.MessageParts.Clear;
att:=TIdAttachment.Create(IdMessage1.MessageParts, OpenDialog1.FileName);
idsmtp1.Connect();
if idsmtp1.Connected then
begin
idsmtp1.Send(IdMessage1);
MessageDlg('Отправка завершена',mtInformation,[mbOk],0);
end;
Idsmtp1.Disconnect;

вот эта строчка

Код:
att:=TIdAttachment.Create(IdMessage1.MessageParts, OpenDialog1.FileName);

а ошибка он не пишет только подчеркивает делфи 2009
cargo29 вне форума Ответить с цитированием
Старый 15.01.2011, 19:10   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а ошибка он не пишет
Не может такого быть.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.01.2011, 23:41   #5
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

щас скрины выложу вот парочка посмотри.....
Изображения
Тип файла: jpg Безымянный2.JPG (164.3 Кб, 143 просмотров)
Тип файла: jpg Безымянный.JPG (140.1 Кб, 161 просмотров)
cargo29 вне форума Ответить с цитированием
Старый 16.01.2011, 11:21   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну вот. А ты говоришь ошибки нет.
Все есть. Тут видимо глюки ИНДИ.
У меня вообще говорит что в TIdAttachment.Create всего один параметр
Код:
att:=TIdAttachment.Create(IdMessage1.MessageParts);
att.LoadFromFile(OpenDialog1.FileName);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.01.2011, 15:05   #7
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну вот. А ты говоришь ошибки нет.
Все есть. Тут видимо глюки ИНДИ.
У меня вообще говорит что в TIdAttachment.Create всего один параметр
Код:
att:=TIdAttachment.Create(IdMessage1.MessageParts);
att.LoadFromFile(OpenDialog1.FileName);
Вот и у меня один параметр и как тогда обойтись?
cargo29 вне форума Ответить с цитированием
Старый 16.01.2011, 15:20   #8
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

А вам не хватило того, что вам написали уже как это "обойти"?
W0LF вне форума Ответить с цитированием
Старый 16.01.2011, 20:14   #9
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от W0LF Посмотреть сообщение
А вам не хватило того, что вам написали уже как это "обойти"?
написал все так же....
cargo29 вне форума Ответить с цитированием
Старый 16.01.2011, 20:34   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А если заглянуть сюда:http://delphiworld.narod.ru/base/smtp_example.html
Тут Аттачи идут как список имен файлов
Цитата:
The Attachments property specifies a list of files to attach to the outgoing E-Mail message.
А это добавление очередного файла к письму.
Код:
SMTP.PostMessage.Attachments.add(attachment);
Попробуй воспользоваться тем способом приаттачивания. и отсылать используя компонент TNMSMTP
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отправка письма Pein95 Работа с сетью в Delphi 6 11.01.2011 20:10
Отправка письма на e-mail Uniskull Общие вопросы Delphi 2 29.11.2010 18:25
Отправка письма beygul Помощь студентам 5 29.08.2010 16:10
отправка письма joker Win Api 0 14.02.2009 10:46
Отправка письма Ксеноцид PHP 1 07.05.2008 15:57