Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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
1-10754
Vinter
2003-08-25 07:55
2003.09.04
Qreport и delphi7


3-10582
korvin
2003-08-14 09:25
2003.09.04
---|Ветка была без названия|---


1-10741
Fog
2003-08-19 19:00
2003.09.04
Синтаксис RTF


14-10875
Kost
2003-08-14 22:15
2003.09.04
Сайты


7-10987
DeadMeat
2003-06-20 18:41
2003.09.04
Хук на клаву...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский