-
Здравствуйте Составляю с помощью MAPI письмо. Отображается так: Направляю результаты выгрузки СЭД МРФ Волга за 19.03.2012
1. Исходящие +
2. На согласование -
3. Поручения +
4. Отчеты +
5. Визы +
6. Все интеграционные сущности + Но почему то при отправке письма, "символы перевода каретки" теряются. И письмо уходит такое: Направляю результаты выгрузки СЭД МРФ Волга за 19.03.2012 1. Исходящие + 2. На согласование - 3. Поручения + 4. Отчеты + 5. Визы + 6. Все интеграционные сущности + У кого какие идеи? Делал и #13, и #10, и #13#10 - результат один!
-
1. посмотреть в теле любого письма (рабочего) какой там разделитель? 2. > Но почему то при отправке письма, "символы перевода каретки" > теряются. И письмо уходит такое:
ты не путаешь, именно уходит, а не приходит?
-
в отправленных и в полученных без "символов перевода каретки"
-
1. ? перехвати рабочее письмо и посмотри как оно сформировано..
-
> Составляю с помощью MAPI письмо. Отображается так:
да, и код покажи...
-
что значит "перехвати рабочее письмо и посмотри как оно сформировано.." ?
-
начни с [4]
-
function SendEMail(const Subject, Text: AnsiString; const Files: TStringList): boolean;
const
Handle = 0;
type
TMapiRecipDescEx = packed record
ulReserved: dword;
ulRecipClass: dword;
lpszName: AnsiString;
lpszAddress: AnsiString;
ulEIDSize: dword;
lpEntryID: pointer;
end;
TMapiFileDescEx = packed record
ulReserved: dword;
flFlags: dword;
nPosition: dword;
lpszPathName: AnsiString;
lpszFileName: AnsiString;
lpFileType: pointer;
end;
TMapiMessageEx = packed record
ulReserved: dword;
lpszSubject: AnsiString;
lpszNoteText: AnsiString;
lpszMessageType: pointer;
lpszDateReceived: pointer;
lpszConversationID: pointer;
flFlags: MAPI.FLAGS;
lpOriginator: pointer;
nRecipCount: dword;
lpRecips: array of TMapiRecipDescEx;
nFileCount: dword;
lpFiles: array of TMapiFileDescEx;
end;
var
i: integer;
MapiMessage: TMapiMessageEx;
MAPI_Session: Cardinal;
begin
Result := false;
if (MapiLogon(Handle,nil,nil,MAPI_LOGON_UI or MAPI_NEW_SESSION,0,@MAPI_Session) <> SUCCESS_SUCCESS) then exit;
ZeroMemory(@MapiMessage, sizeof(MapiMessage));
MapiMessage.lpszSubject := Subject;
MapiMessage.lpszNoteText := Text;
MapiMessage.nRecipCount := 3;
SetLength(MapiMessage.lpRecips, 3);
ZeroMemory(pointer(MapiMessage.lpRecips), sizeof(TMapiRecipDescEx)*3);
MapiMessage.nFileCount := Files.Count;
SetLength(MapiMessage.lpFiles, MapiMessage.nFileCount);
ZeroMemory(pointer(MapiMessage.lpFiles), sizeof(TMapiFileDescEx)*MapiMessage.nFileCount);
with MapiMessage.lpRecips[0] do
begin
ulRecipClass := MAPI_TO;
lpszName := 'Баранова Елена Александровна';
lpszAddress := 'SMTP:' + 'eabaranova@at-consulting.ru';
end;
with MapiMessage.lpRecips[1] do
begin
ulRecipClass := MAPI_CC;
lpszName := 'Gluhovchenko@RT.RU';
lpszAddress := 'SMTP:' + lpszName;
end;
with MapiMessage.lpRecips[2] do
begin
ulRecipClass := MAPI_CC;
lpszName := 'ddubrovskiy@at-consulting.ru';
lpszAddress := 'SMTP:' + lpszName;
end;
for i := 0 to integer(MapiMessage.nFileCount)-1 do
with MapiMessage.lpFiles[i] do
begin
nPosition := high(dword);
lpszPathName := Files[i];
lpszFileName := ExtractFileName(lpszPathName);
end;
Result := (MapiSendMail(MAPI_Session, Handle, PMapiMessage(@MapiMessage)^, MAPI_USE_DEFAULT or MAPI_DIALOG or MAPI_LOGON_UI, 0) <= MAPI_USER_ABORT);
MapiLogOff(MAPI_Session, Handle, 0, 0);
end;
-
И ?
-
Проверил только что на Д2010/WinXP со MS Outlook 2007 SendEMail('test', '111111'#10#13'22222'#10#13'333333', nil); прекрасно показало в теле письма три строки. Прекрасно показывало в исходящих три строки Прекрасно отправил себе и получил точь-в-точь как и выглядело при отправке. И на mail.ru прекрасно показывает 3 строки У тебя в исходящих как отображается-то?
-
|