Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.03.20;
Скачать: [xml.tar.bz2];

Вниз

Отправка почты   Найти похожие ветки 

 
Stas   (2002-12-18 12:10) [0]

Подскажите как программно отправить письмо.


 
Song   (2002-12-18 13:19) [1]

NMSMTP


 
Stas   (2002-12-18 14:13) [2]

Song, я не работал никогда в Дельфи с интернет, можно пожалуйта подробнее.


 
Song   (2002-12-18 16:30) [3]

Дык NMSMTP и на нём Ctrl+F1


 
myor   (2002-12-19 10:57) [4]

бери NMSMTP и хоть его свойства и события посмотри, тогда уже не скажешь, что с и-нетом не работал- там все просто:
указываешь хоста (ip машины-отправителя), хочешь- одного,
хочешь- целый список адресатов (бери из эдита(ов) или мемо, или откуда захочешь), по желанию задаешь боди сообщения (из мемо),
и отправляй.


 
UH   (2002-12-19 14:15) [5]

а злобный сисадмин отключил релай на серваке и у меня не уходят письма "наружу". Как быть?
А вот через аутлук уходят - что юзает последний? может и я так смогу?


 
Song   (2002-12-19 14:22) [6]

Раз через аутлук уходят значит надо подключаться к тому же хосту и порту, что и в аутлуке. Всё должно работать.


 
Андрей Д.   (2002-12-19 16:02) [7]

Это можно сделать при помощи MAPI.
Т.е. письмо будет отправлено средствами _почтовой_программы_по_умолчанию_ - со
всеми недостатками :) (например письмо будет помещено в папку "отправленные").
Зато без всяких там компонент и просто :)

Ниже готовая функция, в которой:
From - от кого
Dest - кому
Subject - тема
Text - текст письма
FileName - путь к вложению (если "", то соответственно ничего и не вкладываем)
Outlook - показывать или нет письмо перед отправкой (в твоём случае False)

Uses MAPI;
....
function SendMail(const From, Dest, Subject, Text, FileName: PChar;
Outlook: boolean):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 := Cardinal(-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;
MAPI_FLAG: Cardinal;
begin
if Outlook then
MAPI_FLAG:=MAPI_DIALOG
else
MAPI_FLAG:=0;
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, Application.Handle, Message, MAPI_FLAG, 0);
end else Result := 1;
finally
FreeLibrary(MAPIModule);
end;
end;


 
Донской   (2003-01-29 17:19) [8]

Странно, но почему-то не отправляет....
При этом если стоит outlook=false, то outlook показывает окошко, в котором запрашивается, разрешить ли программе отправлять письмо от имени Outlook или не разрешать (мол, это может быть вирус) и вне зависимолсти от занчения параметра outlook письо не доходит никуда (я отправляю пока только сам себе).
Есть еще вопрос - как сделать ТАК, чтобы письма, открываемые в Outlook, посланные компонентом TNMSMTP, были в нормальной кодировке?
А то какое бы значение свойству charset я не назначал, все равно закорючки.... Правда каждый раз разные ))))



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2003.03.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
3-64014
RDA
2003-02-27 19:05
2003.03.20
Query без BDE


3-64040
tribesman
2003-03-02 19:11
2003.03.20
Выбор БД


3-63981
Ihtiandr
2003-02-28 10:50
2003.03.20
Edit


1-64061
Alex-21
2003-03-08 11:00
2003.03.20
Memo1.Lines.Add


14-64313
alexteam
2003-03-04 13:32
2003.03.20
код-антикод





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский