Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.04;
Скачать: CL | DM;

Вниз

Вызов Outlook с текстом письма   Найти похожие ветки 

 
maxic   (2003-06-30 16:33) [0]

Проблема в следующем. Как вызвать создание письма трудностей не вызывает:
ShellExecute(Handle, nil, "mailto: aaa@mail.ru", nil, nil, SW_RESTORE);
А как передать в открывшееся окно нового письма готовый текст, т.е. например чтобы сразу было написано в теме "Новое письмо", в теле - "Добрый день"?


 
[NIKEL] ©   (2003-06-30 17:31) [1]

ShellExecute(Handle,"open","mailto:lalala@lala.ru?par1=value1&par1=value1&...",nil,nil,SW_SHOWNORMAL);

Что здесь делается

1. Вызывается функция ShellExecute, где третий параметр -
это строка в соответствии с протоколом mailto и правилами оформления URL

mailto: - тип протокола (может быть http: в этом случае оставшая URL и
параметры запроса).

lalala@lala.ru - адрес получателя, можно включать несколько адресов, разделяя
из символом ";"

? - разделитель параметров от адреса

par1=value1 - имя параметра и его значение

& - разделитель параметров

Протокол Mailto имеет следующую форму.

MAILTO:Recipients&Parameters

Поле Recipients может быть пустым, одиночным адресом и состоять из нескольких
адресов, разделенных символом ";".
Поле Parameters дополнительно и если оно есть то должно
быть отделено символом "&". Параметры должны появляться
в форме пары name/value. Следующий список описывает возможные параметры:

PARAMETER DESCRIPTION

CC= Carbon copy (дополнительные получатели)
BCC= Blind carbon copy (дополнительные получатели, адреса которых
не показываются остальным получателям)
SUBJECT= Subject text (тема)
BODY= ( текст) ShellExecute(Handle,"open","mailto:lalala@lala.ru?par1=value1&par1=value1&...",nil,nil,SW_SHOWNORMAL);

Что здесь делается

1. Вызывается функция ShellExecute, где третий параметр -
это строка в соответствии с протоколом mailto и правилами оформления URL

mailto: - тип протокола (может быть http: в этом случае оставшая URL и
параметры запроса).

lalala@lala.ru - адрес получателя, можно включать несколько адресов, разделяя
из символом ";"

? - разделитель параметров от адреса

par1=value1 - имя параметра и его значение

& - разделитель параметров

Протокол Mailto имеет следующую форму.

MAILTO:Recipients&Parameters

Поле Recipients может быть пустым, одиночным адресом и состоять из нескольких
адресов, разделенных символом ";".
Поле Parameters дополнительно и если оно есть то должно
быть отделено символом "&". Параметры должны появляться
в форме пары name/value. Следующий список описывает возможные параметры:

PARAMETER DESCRIPTION

CC= Carbon copy (дополнительные получатели)
BCC= Blind carbon copy (дополнительные получатели, адреса которых
не показываются остальным получателям)
SUBJECT= Subject text (тема)
BODY= Body text (текст)

Все данные указываемые в параметрах должны быть так называемые Internet safe
characters. Используййте %0d для символа перевод строки (LF), %20 для пробела и
так далее.
Пример:

mailto:email1;email2?cc=email3&subject=Это%20тема&body=это%20текст%20письма%0dЭто%20другая%20строка

вот и все :)


 
[NIKEL] ©   (2003-06-30 17:32) [2]

ShellExecute(Handle,"open","mailto:lalala@lala.ru?par1=value1&par1=value1&...",nil,nil,SW_SHOWNORMAL);

Что здесь делается

1. Вызывается функция ShellExecute, где третий параметр -
это строка в соответствии с протоколом mailto и правилами оформления URL

mailto: - тип протокола (может быть http: в этом случае оставшая URL и
параметры запроса).

lalala@lala.ru - адрес получателя, можно включать несколько адресов, разделяя
из символом ";"

? - разделитель параметров от адреса

par1=value1 - имя параметра и его значение

& - разделитель параметров

Протокол Mailto имеет такую форму.

MAILTO:Recipients&Parameters

Поле Recipients может быть пустым, одиночным адресом и состоять из нескольких
адресов, разделенных символом ";".
Поле Parameters дополнительно и если оно есть то должно
быть отделено символом "&". Параметры должны появляться
в форме пары name/value. возможные параметры:

PARAMETER DESCRIPTION

CC= Carbon copy (дополнительные получатели)
BCC= Blind carbon copy (дополнительные получатели, адреса которых
не показываются остальным получателям)
SUBJECT= Subject text (тема)
BODY= ( текст) ShellExecute(Handle,"open","mailto:lalala@lala.ru?par1=value1&par1=value1&...",nil,nil,SW_SHOWNORMAL);

Что здесь делается

1. Вызывается функция ShellExecute, где третий параметр -
это строка в соответствии с протоколом mailto и правилами оформления URL

mailto: - тип протокола (может быть http: в этом случае оставшая URL и
параметры запроса).

lalala@lala.ru - адрес получателя, можно включать несколько адресов, разделяя
из символом ";"

? - разделитель параметров от адреса

par1=value1 - имя параметра и его значение

& - разделитель параметров

Протокол Mailto имеет такую форму.

MAILTO:Recipients&Parameters

Поле Recipients может быть пустым, одиночным адресом и состоять из нескольких
адресов, разделенных символом ";".
Поле Parameters дополнительно и если оно есть то должно
быть отделено символом "&". Параметры должны появляться
в форме пары name/value. возможные параметры:

PARAMETER DESCRIPTION

CC= Carbon copy (дополнительные получатели)
BCC= Blind carbon copy (дополнительные получатели, адреса которых
не показываются остальным получателям)
SUBJECT= Subject text (тема)
BODY= Body text (текст)

Все данные указываемые в параметрах должны быть так называемые Internet safe
characters. испульзуй %0d для символа перевод строки (LF), %20 для пробела и
так далее.
Пример:

mailto:email1;email2?cc=email3&subject=Это%20тема&body=это%20текст%20письма%0dЭто%20другая%20строка

вот и все :)


 
[NIKEL] ©   (2003-06-30 17:33) [3]

глюки :)


 
Shluz ©   (2003-06-30 18:34) [4]

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,unit2,mapi;

type
TForm1 = class(TForm)
procedure FormResize(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormResize(Sender: TObject);
var MapiMessage: TMapiMessage;
AdressTo : TMapiRecipDesc;
Attach : TMapiFileDesc;
MError: Cardinal;
th:tabc;
begin
Attach.ulReserved := 0;
Attach.flFlags := MAPI_OLE_STATIC;
Attach.nPosition := 1;
Attach.lpFileType := nil;
Attach.lpszPathName := "D:\1.txt"#0;
Attach.lpszFileName := nil;

AdressTo.ulReserved := 0;
AdressTo.lpszName := "name!"#0;
AdressTo.lpszAddress := "mymail@mymail.ru"#0;
AdressTo.ulRecipClass := MAPI_TO;
AdressTo.ulEIDSize := 0;
AdressTo.lpEntryID := nil;

MapiMessage.ulReserved := 0;
MapiMessage.lpszSubject := "subject"#0;
MapiMessage.lpszNoteText := "this is a body text"#0;
MapiMessage.lpszMessageType := nil;
MapiMessage.lpszDateReceived := nil;
MapiMessage.lpszConversationID := nil;
MapiMessage.flFlags := 0;
MapiMessage.lpOriginator := nil;
MapiMessage.nRecipCount := 1;
MapiMessage.lpRecips := @AdressTo;
MapiMessage.nFileCount := 1;
MapiMessage.lpFiles := @Attach;
th := tabc.Create(false);
MError := MapiSendMail(0, 0, MapiMessage, 0, 0);
( "Error", mtError, [mbOK], 0) unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,unit2,mapi;

type
TForm1 = class(TForm)
procedure FormResize(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormResize(Sender: TObject);
var MapiMessage: TMapiMessage;
AdressTo : TMapiRecipDesc;
Attach : TMapiFileDesc;
MError: Cardinal;
th:tabc;
begin
Attach.ulReserved := 0;
Attach.flFlags := MAPI_OLE_STATIC;
Attach.nPosition := 1;
Attach.lpFileType := nil;
Attach.lpszPathName := "D:\1.txt"#0;
Attach.lpszFileName := nil;

AdressTo.ulReserved := 0;
AdressTo.lpszName := "name!"#0;
AdressTo.lpszAddress := "mymail@mymail.ru"#0;
AdressTo.ulRecipClass := MAPI_TO;
AdressTo.ulEIDSize := 0;
AdressTo.lpEntryID := nil;

MapiMessage.ulReserved := 0;
MapiMessage.lpszSubject := "subject"#0;
MapiMessage.lpszNoteText := "this is a body text"#0;
MapiMessage.lpszMessageType := nil;
MapiMessage.lpszDateReceived := nil;
MapiMessage.lpszConversationID := nil;
MapiMessage.flFlags := 0;
MapiMessage.lpOriginator := nil;
MapiMessage.nRecipCount := 1;
MapiMessage.lpRecips := @AdressTo;
MapiMessage.nFileCount := 1;
MapiMessage.lpFiles := @Attach;
th := tabc.Create(false);
MError := MapiSendMail(0, 0, MapiMessage, 0, 0);
if MError <> 0 then MessageDlg("Error", mtError, [mbOK], 0);



end;

end.


то что надо :)



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

Текущий архив: 2003.09.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.022 c
14-10888
Study
2003-08-14 13:15
2003.09.04
2 вопроса


4-11030
sucer
2003-07-05 15:35
2003.09.04
Как убить процесс ,зная только его имя?


3-10558
SJ-79
2003-08-11 19:33
2003.09.04
Перенос данных из таблицы ворда в базу данных парадокс


14-10955
Proger_XP
2003-08-11 10:52
2003.09.04
Delphi7


3-10644
Вадим_ака
2003-08-11 16:19
2003.09.04
Преобразование TXT в BDF.