Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Internet [D7]


inkarik ©   (2004-09-14 06:18:00) 

Всем привет!
Может мне кто-нибудь сказать как отправлять файлы *.Html на электронный адрес


panov   (2004-09-15 09:56:00) [1]

>inkarik ©  
Хватит флудить.


inkarik   (2004-09-15 07:19:00) [2]

Привет FoxBox. Я сделал всё как ты предложил, но программа неработает и выдаёт ошибки (ненайден AdVapi32.dll, при том, что сообщения на эл. почту можно через Outlook и с AdVapi32.dll всё нормально) или программа не выдаёт вообще никаких диалогов и ничего не посылает. Если тебе нетрудно ответь пожалуйста:
1) Что такое AdVapi32.dll
2) Можно ли компилировать программу на компьютере с Windows NT, а запускать exe-файл на компьютере с Windows 98, 2000, XP

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   IdSMTP1: TIdSMTP;
   Button1: TButton;
   Memo1: TMemo;
   Edit1: TEdit;
   Edit2: TEdit;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
session : integer;
mailmessage : TmapiMessage;
recipient: TmapiRecipDesc;
Attachement : TmapiFileDesc;
c : pchar;
i : integer;
begin
    mapilogon(0,'My Profile', nil, MAPI_NEW_SESSION, 0, @session);
// Задаем отправителя
    recipient.ulRecipClass:=MAPI_TO;
    recipient.lpszName:='';
//     recipient.lpszAddress:=pchar('Karn@Almatytelecom.kz');
    recipient.lpszAddress:=pchar('Veronika@Almatytelecom.kz');
    recipient.ulEIDSize:=0;
    recipient.lpEntryID:=nil;
    attachement.ulReserved:=0;
// Задаем аттачмент
    attachement.lpszPathName:=pchar(Edit1.Text);
    attachement.lpszFileName:=pchar('Edit2.Text');
    attachement.lpFileType:=nil;
// Задаем заголовок
    mailmessage.lpszSubject:=pchar('Программа');
// Задаем текст сообщения (кидаем все в виде одной строки)
    c:='';
    for i:=0 to pred(memo1.lines.count) do
      c:=pchar(c+memo1.lines[i]+char(10)+char(13));
    mailmessage.lpszNoteText:=pchar(c);

// Цепляем к сообщению отправителя
    mailmessage.nRecipCount:=1;
    mailmessage.lpRecips:=@recipient;

// Цепляем к сообщению аттачменты
    mailmessage.nFileCount:=1;
    mailmessage.lpFiles:=@attachement;

// Отправляем подарок из африки
    MAPISendMail(Session, 0, mailmessage, 0, 0);
    MAPILogoff(session, 0, 0, 0);end;

end.


inkarik   (2004-09-15 07:18:00) [3]

Привет FoxBox. Я сделал всё как ты предложил, но программа неработает и выдаёт ошибки (ненайден AdVapi32.dll, при том, что сообщения на эл. почту можно через Outlook и с AdVapi32.dll всё нормально) или программа не выдаёт вообще никаких диалогов и ничего не посылает. Если тебе нетрудно ответь пожалуйста:
1) Что такое AdVapi32.dll
2) Можно ли компилировать программу на компьютере с Windows NT, а запускать exe-файл на компьютере с Windows 98, 2000, XP

object Form1: TForm1
 Left = 192
 Top = 107
 Width = 696
 Height = 480
 Caption = 'Form1'
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = 'MS Sans Serif'
 Font.Style = []
 OldCreateOrder = False
 PixelsPerInch = 96
 TextHeight = 13
 object Button1: TButton
   Left = 312
   Top = 232
   Width = 75
   Height = 25
   Caption = 'Button1'
   TabOrder = 0
   OnClick = Button1Click
 end
 object Memo1: TMemo
   Left = 104
   Top = 112
   Width = 185
   Height = 89
   Lines.Strings = (
     'Memo1')
   TabOrder = 1
 end
 object Edit1: TEdit
   Left = 504
   Top = 208
   Width = 121
   Height = 21
   TabOrder = 2
   Text = 'Edit1'
 end
 object Edit2: TEdit
   Left = 480
   Top = 112
   Width = 121
   Height = 21
   TabOrder = 3
   Text = 'Edit2'
 end
 object IdSMTP1: TIdSMTP
   MaxLineAction = maException
   ReadTimeout = 0
   Port = 25
   AuthenticationType = atNone
   Left = 360
   Top = 104
 end
end


inkarik   (2004-09-15 06:50:00) [4]

Привет FoxBox. Я сделал всё как ты предложил, но программа неработает и выдаёт ошибки (ненайден AdVapi32.dll, при том, что сообщения на эл. почту можно через Outlook и с AdVapi32.dll всё нормально) или программа не выдаёт вообще никаких диалогов и ничего не посылает. Если тебе нетрудно ответь пожалуйста:
1) Что такое AdVapi32.dll
2) Можно ли компилировать программу на компьютере с Windows NT, а запускать exe-файл на компьютере с Windows 98, 2000, XP


mgFox   (2004-09-14 12:02:00) [5]

Попробовал я отправить письмо через API, как то странно получается.
Диалога выбора профиля мне не выдается, а на попытку отправки пишет что типа еррор -1073741819.
Так и должно быть ???


FoxBox   (2004-09-14 09:49:00) [6]

Компоненты дельфийские по отправке писем через smtp-сервера:
Закладка "Indy Clients"/компонент idSMTP

или через почтовую программу, установленную на станции (через API)


uses mapi
.......

procedure...
var
...
 session:integer;
 mailmessage:TMapiMessage;
 recipient:TMapiRecipDesc;
 attachement:TMapiFileDesc;
....

begin
....
     mapilogon(0,'My Profile', nil, MAPI_NEW_SESSION, 0, @session);
// Задаем отправителя
     recipient.ulRecipClass:=MAPI_TO;
     recipient.lpszName:='';
     recipient.lpszAddress:=pchar(email);
     recipient.ulEIDSize:=0;
     recipient.lpEntryID:=nil;
     attachement.ulReserved:=0;
// Задаем аттачмент
     attachement.lpszPathName:=pchar(attachementedit.text);
     attachement.lpszFileName:=pchar(attachementedit.text);
     attachement.lpFileType:=nil;
// Задаем заголовок
     mailmessage.lpszSubject:=pchar(SubjectEdit.Text);
// Задаем текст сообщения (кидаем все в виде одной строки)
     c:='';
     for i:=0 to pred(memo1.lines.count) do
       c:=pchar(c+memo1.lines[i]+char(10)+char(13));
     mailmessage.lpszNoteText:=pchar(c);

// Цепляем к сообщению отправителя
     mailmessage.nRecipCount:=1;
     mailmessage.lpRecips:=@recipient;

// Цепляем к сообщению аттачменты
     mailmessage.nFileCount:=1;
     mailmessage.lpFiles:=@attachement;

// Отправляем подарок из африки
     MAPISendMail(Session, 0, mailmessage, 0, 0);
     MAPILogoff(session, 0, 0, 0);
...
end;
...

-------
После сего кода идем в аутлук и ищем в "отправленных" наше письмо. Если лежит, значит жизнь удалась, идем пить пиво. В противном случае настраиваем почтового клиента таким образом, чтобы через всплывающее меню Sent To/Mail Recipient Проводника удавалось отправлять файлы.


inkarik   (2004-09-14 08:56:00) [7]

У меня проблема. Необходимо находящийся на ЖД html-файл, являющийся уведомлением пользователя интернета об оплате, отправить на электронный адрес пользователя. При этом всё это нужно сделать в Delphi 7.
  Я извиняюсь за столь непонятное объяснение и сложной вопрос, но всё серьёзно.
  Приложеных к Дельфи примеров нет.


inkarik   (2004-09-14 07:49:00) [8]

Проблема, т.к. приложеных к Дельфи примеров нет.


Anatoly Podgoretsky   (2004-09-14 07:37:00) [9]

Это разве проблема, берешь и отправляешь, приложеных к Дельфи примеров вполне достаточно для программиста.


inkarik   (2004-09-14 07:34:00) [10]

У меня проблема. Необходимо находящийся на ЖД html-файл, являющийся уведомлением пользователя интернета об оплате, отправить на электронный адрес пользователя. При этом всё это нужно сделать в Delphi 7.
   Я извиняюсь за столь непонятное объяснение и сложной вопрос, но всё серьёзно.


сигишник   (2004-09-14 07:09:00) [11]

В чем проблнема вообще не понимаю! Атачмент и все!


inkarik   (2004-09-14 06:51:00) [12]

У меня проблема. Необходимо находящийся на ЖД html-файл, являющийся уведомлением пользователя интернета об оплате, отправить на электронный адрес пользователя.


Defunct   (2004-09-14 06:25:00) [13]

1. Создать новое сообщение в аутлуке;
2. в строке "Кому" написать электронный адрес;
3. приаттачить html к письму в аутлуке;
4. нажать кнопку "отправить"

Горе ты мое аутлуковое (C) народная мудрость.


Наверх

Титульная страница Поиск, карта сайта Написать письмо