<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=3421164</guid>
        <pubDate>Thu, 27 Feb 2014 17:07:08 +0000</pubDate>
        <title>Отправка сообщения с вложением через OE</title>
        <link>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=3421164</link>
        <description><![CDATA[Rouse_: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=80277&view=findpost&p=3421095'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>igr37 &#064; <time class="tag-quote__quoted-time" datetime="2014-02-27T19:39:57+04:00">27.02.14, 15:39</time></span><div class='quote '>но и сразу отсылал письмо тоесть грубо говоря нажималась кн отправки в форме - как это сделать?</div></div><br>
Этим способом - никак. Что собственно и правильно, ибо почтовик владеет данными об учетке с паролем, и так очень просто устроить спам рассылку, скомпроментировав ящик реципиента.<br>
Если нужно отправлять полностью самостоятельно - нужно реализовывать SMTP в полном обьеме ручками.]]></description>
        <author>Rouse_</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=3421095</guid>
        <pubDate>Thu, 27 Feb 2014 15:39:57 +0000</pubDate>
        <title>Отправка сообщения с вложением через OE</title>
        <link>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=3421095</link>
        <description><![CDATA[igr37: У меня вопрос коллеги - пример Rouse_ прекрасно работает но мне надо чтобы он не только вызывал форму Outlook-а но и сразу отсылал письмо тоесть грубо говоря нажималась кн отправки в форме - как это сделать? Помогите гуру&#33;]]></description>
        <author>igr37</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=820879</guid>
        <pubDate>Mon, 08 Aug 2005 11:54:48 +0000</pubDate>
        <title>Отправка сообщения с вложением через OE</title>
        <link>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=820879</link>
        <description><![CDATA[Rouse_: Просто нужно проверять, что файл аттача есть в наличии ;)]]></description>
        <author>Rouse_</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=820874</guid>
        <pubDate>Mon, 08 Aug 2005 11:46:37 +0000</pubDate>
        <title>Отправка сообщения с вложением через OE</title>
        <link>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=820874</link>
        <description><![CDATA[Skynet: если у кого-то не пойдет код предоставленный <strong class='tag-b'>Rouse_</strong> попробуйте отключить строку Аттачмента. должно заработать&#33;]]></description>
        <author>Skynet</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=587397</guid>
        <pubDate>Sun, 23 Jan 2005 11:29:16 +0000</pubDate>
        <title>Отправка сообщения с вложением через OE</title>
        <link>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=587397</link>
        <description><![CDATA[Rouse_: Я пробовал, бат версии 2.04.7 - все без проблем...]]></description>
        <author>Rouse_</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=586329</guid>
        <pubDate>Sat, 22 Jan 2005 09:52:41 +0000</pubDate>
        <title>Отправка сообщения с вложением через OE</title>
        <link>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=586329</link>
        <description><![CDATA[WildBear: А вот кстати, никто не пробовал отправлять таким образом сообщения , если клиент по умолчанию - The bat &#33;<br>ver 2.10.01 а ОС WinXP prof SP2 русская. У меня дает ошибку с непонятным кодом. С Outlook все нормально.]]></description>
        <author>WildBear</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=585096</guid>
        <pubDate>Fri, 21 Jan 2005 08:25:52 +0000</pubDate>
        <title>Отправка сообщения с вложением через OE</title>
        <link>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=585096</link>
        <description><![CDATA[Rouse_: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;uses ..., MAPI;</div><div class="code_line">&nbsp;</div><div class="code_line">// отправка письма с вложением</div><div class="code_line">// =============================================================================</div><div class="code_line">function SendEMail(Handle: THandle; Mail: TStrings): Cardinal; </div><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp;TAttachAccessArray = array [0..0] of TMapiFileDesc;</div><div class="code_line">&nbsp;&nbsp;PAttachAccessArray = ^TAttachAccessArray;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;MapiMessage: TMapiMessage;</div><div class="code_line">&nbsp;&nbsp;Receip: TMapiRecipDesc;</div><div class="code_line">&nbsp;&nbsp;Attachments: PAttachAccessArray;</div><div class="code_line">&nbsp;&nbsp;AttachCount: Integer;</div><div class="code_line">&nbsp;&nbsp;i1: integer;</div><div class="code_line">&nbsp;&nbsp;FileName: string;</div><div class="code_line">&nbsp;&nbsp;dwRet: Cardinal;</div><div class="code_line">&nbsp;&nbsp;MAPI_Session: Cardinal;</div><div class="code_line">&nbsp;&nbsp;WndList: Pointer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Result := 0;</div><div class="code_line">&nbsp;&nbsp;dwRet := MapiLogon(Application.Handle,</div><div class="code_line">&nbsp;&nbsp; &nbsp;nil,</div><div class="code_line">&nbsp;&nbsp; &nbsp;nil,</div><div class="code_line">&nbsp;&nbsp; &nbsp;MAPI_NEW_SESSION + MAPI_LOGON_UI,</div><div class="code_line">&nbsp;&nbsp; &nbsp;0, @MAPI_Session);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;if (dwRet &#60;&#62; SUCCESS_SUCCESS) then</div><div class="code_line">&nbsp;&nbsp;begin </div><div class="code_line">&nbsp;&nbsp; &nbsp;MessageBox(Handle,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;PChar(&#39;Error while trying to send email&#39;), </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;PChar(&#39;Error&#39;),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;MB_ICONERROR or MB_OK); </div><div class="code_line">&nbsp;&nbsp;end</div><div class="code_line">&nbsp;&nbsp;else</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;FillChar(MapiMessage, SizeOf(MapiMessage), #0);</div><div class="code_line">&nbsp;&nbsp; &nbsp;Attachments := nil;</div><div class="code_line">&nbsp;&nbsp; &nbsp;FillChar(Receip, SizeOf(Receip), #0);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if Mail.Values[&#39;to&#39;] &#60;&#62; &#39;&#39; then</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Receip.ulReserved := 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Receip.ulRecipClass := MAPI_TO;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Receip.lpszName := StrNew(PChar(Mail.Values[&#39;to&#39;]));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Receip.lpszAddress := StrNew(PChar(&#39;SMTP:&#39; + Mail.Values[&#39;to&#39;]));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Receip.ulEIDSize := 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;MapiMessage.nRecipCount := 1;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;MapiMessage.lpRecips := @Receip;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;AttachCount := 0;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;for i1 := 0 to MaxInt do</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if Mail.Values[&#39;attachment&#39; + IntToStr(i1)] = &#39;&#39; then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;break; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Inc(AttachCount); </div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if AttachCount &#62; 0 then </div><div class="code_line">&nbsp;&nbsp; &nbsp;begin </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;GetMem(Attachments, SizeOf(TMapiFileDesc) * AttachCount);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;for i1 := 0 to AttachCount - 1 do </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;FileName := Mail.Values[&#39;attachment&#39; + IntToStr(i1)]; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Attachments[i1].ulReserved := 0; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Attachments[i1].flFlags := 0; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Attachments[i1].nPosition := ULONG($FFFFFFFF); </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Attachments[i1].lpszPathName := StrNew(PChar(FileName)); </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Attachments[i1].lpszFileName := </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;StrNew(PChar(ExtractFileName(FileName)));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Attachments[i1].lpFileType := nil; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;MapiMessage.nFileCount := AttachCount;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;MapiMessage.lpFiles := @Attachments^;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if Mail.Values[&#39;subject&#39;] &#60;&#62; &#39;&#39; then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;MapiMessage.lpszSubject := StrNew(PChar(Mail.Values[&#39;subject&#39;]));</div><div class="code_line">&nbsp;&nbsp; &nbsp;if Mail.Values[&#39;body&#39;] &#60;&#62; &#39;&#39; then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;MapiMessage.lpszNoteText := StrNew(PChar(Mail.Values[&#39;body&#39;]));</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;WndList := DisableTaskWindows(0);</div><div class="code_line">&nbsp;&nbsp; &nbsp;try</div><div class="code_line">&nbsp;&nbsp; &nbsp;Result := MapiSendMail(MAPI_Session, Handle,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;MapiMessage, MAPI_DIALOG, 0);</div><div class="code_line">&nbsp;&nbsp; &nbsp;finally</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;EnableTaskWindows( WndList );</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;for i1 := 0 to AttachCount - 1 do</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;StrDispose(Attachments[i1].lpszPathName);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;StrDispose(Attachments[i1].lpszFileName);</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if Assigned(MapiMessage.lpszSubject) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;StrDispose(MapiMessage.lpszSubject);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if Assigned(MapiMessage.lpszNoteText) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;StrDispose(MapiMessage.lpszNoteText);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if Assigned(Receip.lpszAddress) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;StrDispose(Receip.lpszAddress);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if Assigned(Receip.lpszName) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;StrDispose(Receip.lpszName);</div><div class="code_line">&nbsp;&nbsp; &nbsp;MapiLogOff(MAPI_Session, Handle, 0, 0);</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">end;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
пример вызова:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">procedure TForm1.Button1Click(Sender: TObject);</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;Mail: TStringList;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Mail := TStringList.Create;</div><div class="code_line">&nbsp;&nbsp;try</div><div class="code_line">&nbsp;&nbsp; &nbsp;Mail.values[&#39;to&#39;] := &#39;почтовый@адрес&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Mail.values[&#39;subject&#39;] := &#39;Тема письма&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Mail.values[&#39;body&#39;] := &#39;Любой текст письма&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Mail.values[&#39;attachment0&#39;] := &#39;Путь к файлу&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;sendEMail(Application.Handle, Mail);</div><div class="code_line">&nbsp;&nbsp;finally</div><div class="code_line">&nbsp;&nbsp; &nbsp;Mail.Free;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">end;</div></ol></div></div></div></div>]]></description>
        <author>Rouse_</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=585065</guid>
        <pubDate>Fri, 21 Jan 2005 07:49:54 +0000</pubDate>
        <title>Отправка сообщения с вложением через OE</title>
        <link>https://forum.sources.ru/index.php?showtopic=80277&amp;view=findpost&amp;p=585065</link>
        <description><![CDATA[Igor: Вопрос: пытаюсь отправить сообщение с вложением через Outlook Express при помощи процедуры, приведенной ниже, но при этом появившееся окно сообщения зависает и не реагирует ни на какие действия. В чем может быть причина?<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;procedure SendMail(Subject, Body, RecvAddress : string; Attachs : array of string);</div><div class="code_line">&nbsp;var</div><div class="code_line">&nbsp;&nbsp; MM, MS : Variant;</div><div class="code_line">&nbsp;&nbsp; i : integer;</div><div class="code_line">&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; MS := CreateOleObject(&#39;MSMAPI.MAPISession&#39;);</div><div class="code_line">&nbsp;&nbsp; try</div><div class="code_line">&nbsp;&nbsp; &nbsp; MM := CreateOleObject(&#39;MSMAPI.MAPIMessages&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; try</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; MS.DownLoadMail := False;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; MS.NewSession := False;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; MS.LogonUI := True;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; MS.SignOn;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; MM.SessionID := MS.SessionID;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; MM.Compose;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; MM.RecipIndex := 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; MM.RecipAddress := RecvAddress;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; MM.MsgSubject := Subject;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; MM.MsgNoteText := Body;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; for i := Low(Attachs) to High(Attachs) do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; MM.AttachmentIndex := i;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; MM.AttachmentPathName := Attachs[i];</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; MM.Send(True);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; MS.SignOff;</div><div class="code_line">&nbsp;&nbsp; &nbsp; finally</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; VarClear(MS);</div><div class="code_line">&nbsp;&nbsp; &nbsp; end;</div><div class="code_line">&nbsp;&nbsp; finally</div><div class="code_line">&nbsp;&nbsp; &nbsp; VarClear(MM);</div><div class="code_line">&nbsp;&nbsp; end;</div><div class="code_line">&nbsp;end;</div></ol></div></div></div></div>]]></description>
        <author>Igor</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	