Форум: "Потрепаться";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
ВнизОтправка e-mail Найти похожие ветки
← →
Dw (2003-07-13 16:04) [0]А можно ли отправлять e-mail на API ? Нужно чтобы програмка весила мало. Или как вариант - отсылать файл на фтп.
← →
Marser (2003-07-13 16:16) [1]
> Marser © (13.07.03 16:12)
Нехорошо получилось. Попробуем ещё раз
unit Email;
interface
uses Windows, SusUtils, Classes;
function SendEmail(const RecipName, RecipAddress, Subject, Attachment: string): Boolean;
function IsOnline: Boolean;
implementation
uses Mapi;
function SendEmail(const RecipName, RecipAddress, Subject, Attachment: string): Boolean;
var MapiMessage: TMapiMessage;
MapiFileDesc: TMapiFileDesc;
MapiRecipDesc: TMapiRecipDesc;
i: integer;
s: string;
begin
with MapiRecipDesc do
begin
ulRecerved:= 0;
ulRecipClass:= MAPI_TO;
lpszName:= PChar(RecipName);
lpszAddress:= PChar(RecipAddress);
ulEIDSize:= 0;
lpEntryID:= nil;
end;
with MapiFileDesc do
begin
ulReserved:= 0;
flFlags:= 0;
nPosition:= 0;
lpszPathName:= PChar(Attachment);
lpszFileName:= nil;
lpFileType:= nil;
end;
with MapiMessage do
begin
ulReserved := 0;
lpszSubject := nil;
lpszNoteText := PChar(Subject);
lpszMessageType := nil;
lpszDateReceived := nil;
lpszConversationID := nil;
flFlags := 0;
lpOriginator := nil;
nRecipCount := 1;
lpRecips := @MapiRecipDesc;
if length(Attachment) > 0 then begin
nFileCount:= 1;
lpFiles := @MapiFileDesc;
end
else
begin
nFileCount:= 0;
lpFiles:= nil;
end;
end;
Result:= MapiSendMail(0, 0, MapiMessage, MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0) = SUCCESS_SUCCESS;
end;
function IsOnline: Boolean;
var RASConn: TRASConn;
dwSize,dwCount: DWORD;
begin
RASConns.dwSize:= SizeOf(TRASConn);
dwSize:= SizeOf(RASConns);
Res:=RASEnumConnectionsA(@RASConns, @dwSize, @dwCount);
Result:= (Res = 0) and (dwCount > 0);
end;
end.
← →
SkyRanger (2003-07-14 01:51) [2]ЗЫ: Можно еще изменить строчки так
lpszSubject := PChar(Subject);
lpszNoteText := PChar(MessageBody);
тоды будет выводится тема сообщения в строке тема.
И еще у меня не компилится IsOnline говорит мол нетути такого идентификатора...
← →
handra (2003-07-14 14:29) [3]program w2kmail;
uses
Windows,
ComObj,
ActiveX;
{$R *.RES}
var Msg: OleVariant;
begin
if ParamCount<>4 then begin
MessageBox(0,
"W2k Mail Sender (based on CDO)"#13#13+
"Usage:"#13+
#9"w2kmail <sender> <recipient> <subject> <body>",
"Information",0);
Exit;
end;
CoInitialize(nil);
Msg := CreateOleObject("CDO.Message");
try
Msg.From := ParamStr(1);
Msg.To := ParamStr(2);
Msg.Subject := ParamStr(3);
Msg.TextBody := ParamStr(4);
Msg.Send;
Beep(500,50);
except
end;
Msg := NULL;
end.
← →
Dw (2003-07-14 19:59) [4]Ну это все просто передаются данные в почтовый менеджер.... А как отправлять письмо прямо на smtp-сервер? У меня есть примерчик, там через сокеты передаются команды на почтовый сервер и т.п. .. Он по началу работал (не со всеми почтовиками) ..а теперь совсем не работает... не отсылаются письма... А как узнать в чем проблема? Надо как-то принимать ответы сервера, не пойму как.
← →
SkyRanger (2003-07-15 01:08) [5]Блин... Ну глянь примеры в демосах которые идут с Дельфей, там есть компоненты и они кажися не засирают програмный файл как Dialogs и Forms , которые по 100К добавляют к программе за 1 форму :(...
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c