Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];




Вниз

Проблема с MAPI, письмо не отправляется. 


Денис   (2001-10-15 13:19) [0]

Имеется вот такой код, все заполнение проходит, а письмо не отправляется, подскажите какие параметры еще надо указать...
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MAPI, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
// function SendMail(From, Dest, Subject, Text, FileName: PChar): Integer;
procedure Button1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
caption: String;
implementation

{$R *.dfm}

function SendMail(From, Dest, Subject, Text, FileName: PChar): Integer;
var
Message: TMapiMessage;
Recipient, Sender: TMapiRecipDesc;
File_Attachment: TMapiFileDesc;

function MakeMessage: TMapiMessage;
begin
FillChar(Sender, SizeOf(Sender), 0);
Sender.ulRecipClass := MAPI_ORIG;
Sender.lpszAddress := From;

FillChar(Recipient, SizeOf(Recipient), 0);
Recipient.ulRecipClass := MAPI_TO;
Recipient.lpszAddress := Dest;

FillChar(File_Attachment, SizeOf(File_Attachment), 0);
File_Attachment.nPosition := ULONG(-1);
File_Attachment.lpszPathName := FileName;

FillChar(Result, SizeOf(Result), 0);
with Message do begin
lpszSubject := Subject;
lpszNoteText := Text;
lpOriginator := @Sender;
nRecipCount := 1;
lpRecips := @Recipient;
nFileCount := 1;
lpFiles := @File_Attachment;
end;
end;

var
SM: TFNMapiSendMail;
MAPIModule: HModule;
begin
MAPIModule := LoadLibrary(PChar(MAPIDLL));
if MAPIModule = 0 then
Result := -1
else
try
@SM := GetProcAddress(MAPIModule, "MAPISendMail");
if @SM <> nil then begin
MakeMessage;
Result := SM(0, 0, Message, 0, 0);
end else Result := 1;
finally
FreeLibrary(MAPIModule);
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
SendMail("webmaster@shock.spb.ru","webmaster@shock.spb.ru","Test","RealTest","c:/tree.txt");

//caption :=inttostr(SendMail("webmaster@shock.spb.ru","webmaster@shock.spb.ru","Test","RealTest","c:/tree,txt"));



Vitaliy   (2001-11-21 16:18) [1]

Строчка

Sender.lpszAddress := From;

From должно быть вида SMTP:x@x.x

У меня из-за этого не посылалось.




Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.032 c
14-32344          Sheva                 2001-12-20 15:30  2002.02.11  
Подскажите, пожалуйста.


3-32168           Yu                    2002-01-15 09:30  2002.02.11  
Как проверить корректность вводимых данных?


7-32351           Иван Шихалев          2001-11-02 20:57  2002.02.11  
Перезагрузка из DOS


3-32126           Натик                 2002-01-15 14:57  2002.02.11  
Можно ли выяснить на каком столбце DBGrid щелкнули мышкой.


14-32334          petr_v_a              2001-12-21 17:13  2002.02.11  
Алгоритм подсчета контрольной цифры ИНН