Форум: "Сети";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];
ВнизВызов 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.01 c