Отправка файла на e-mail

  • user warning: Duplicate entry '30188485' for key 'PRIMARY' query: INSERT INTO accesslog (title, path, url, hostname, uid, sid, timer, timestamp) values('Send page by email', 'printmail/142', '', '216.73.216.38', 0, '5hht7o08000r21urp8l90f3p23', 131, 1767368111) in /usr/local/www/muff.kiev.ua/modules/statistics/statistics.module on line 63.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:e0274e1fa7c899c7af225f902dac4de8' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtejustify\">Один из посетителей блога задал вопрос о возможности отправки файла на <strong>e-mail</strong>, используя штатную утилиту <strong>mail</strong>. Однако штатная утилита&nbsp;<strong>mail</strong>&nbsp;не умеет работать с аттачами, так уж исторически сложилось...</p>\n<p class=\"rtejustify\">Не будем расстраиваться преждевременно и попытаемся найти выход из сложившейся ситуации.</p>\n<p class=\"rtejustify\">Скорее всего, отправка будет использоваться в <strong>shell</strong>-скриптах, поэтому варианты использования скриптов на <strong>php</strong>, <strong>perl</strong>, и т.д. - не рассматриваем.</p>\n<p class=\"rtejustify\">Один из простых и действенных вариантов - использование конвертора&nbsp;<strong>uuencode</strong>&nbsp;с дальнейшим перенаправлением результата в утилиту <strong>mail</strong>:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td># <strong>uuencode <span style=\"color:#FF0000\">/var/log/auth.log auth.log</span> | mail -s &quot;<span style=\"color:#FF0000\">TestMail_1</span>&quot; <span style=\"color:#FF0000\"><span class=\"spamspan\"><span class=\"u\">test</span> [at] <span class=\"d\">example [dot] com</span></span></span></strong></td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">где</p>\n<ul>\n<li class=\"rtejustify\"><strong>/var/log/auth.log</strong>&nbsp;- путь к отправляемому файлу</li>\n<li class=\"rtejustify\"><strong>auth.log</strong> - имя файла, которое будет отображено в письме</li>\n<li class=\"rtejustify\"><strong>TestMail_1</strong> - тема сообщения</li>\n<li class=\"rtejustify\"><strong><span class=\"spamspan\"><span class=\"u\">test</span> [at] <span class=\"d\">example [dot] com</span></span></strong>&nbsp;- адрес электронной почты получателя</li>\n</ul>\n<p class=\"rtejustify\"><span style=\"line-height:1.4em\">Еще одним вариантом является использованием утилиты&nbsp;</span><strong style=\"line-height:1.4em\">mpack</strong><span style=\"line-height:1.4em\">.</span></p>\n<p class=\"rtejustify\">Установим утилиту из системы портов:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td># <strong>cd /usr/ports/converters/mpack &amp;&amp; make install clean &amp;&amp; rehash</strong></td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">После установки отправляем тестовое письмо с вложенным аттачем:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td># <strong>mpack -s &quot;<span style=\"color:#FF0000\">TestMail_2</span>&quot; <span style=\"color:#FF0000\">/var/log/auth.log</span> <span style=\"color:#FF0000\"><span class=\"spamspan\"><span class=\"u\">test</span> [at] <span class=\"d\">example [dot] com</span></span></span></strong></td>\n</tr>\n</tbody>\n</table>\n<p>где</p>\n<ul>\n<li class=\"rtejustify\"><strong>TestMail_2&nbsp;</strong>- тема сообщения</li>\n<li class=\"rtejustify\"><strong>/var/log/auth.log</strong> - путь к отправляемому файлу</li>\n<li class=\"rtejustify\"><strong><span class=\"spamspan\"><span class=\"u\">test</span> [at] <span class=\"d\">example [dot] com</span></span></strong> - адрес электронной почты получателя</li>\n</ul>\n<p class=\"rtejustify\">Еще одним вариантом является использование <strong>mutt</strong>, который по сути является полноценным консольным постовым клиентом, что уже выходит за рамки этой заметки.&nbsp; Возможно когда-то и появится статья на эту тему, а пока будем довольствоваться двумя предложенными вариантами.</p>\n', created = 1767368121, expire = 1767454521, headers = '', serialized = 0 WHERE cid = '2:e0274e1fa7c899c7af225f902dac4de8' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:0b7e6b6fe3d95967b95d01add5557687' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>я использую sendEmail</p>\n', created = 1767368121, expire = 1767454521, headers = '', serialized = 0 WHERE cid = '2:0b7e6b6fe3d95967b95d01add5557687' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a class=\"thickbox\" href=\"/files/imagepicker/1/wake_up_ua.png\"><img alt=\"Вставай, Україно!\" class=\"imgp_img\" src=\"/files/imagepicker/1/thumbs/wake_up_ua.png\" style=\"height:200px; width:150px\" /></a></p>\n', created = 1767368121, expire = 1767454521, headers = '', serialized = 0 WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:cc913d232116f0426090404133377d88' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a href=\"http://muff.kiev.ua/rss.xml\"><img alt=\"RSS\" width=\"160\" height=\"60\" src=\"http://muff.kiev.ua/files/muf-rss.png\" /></a></p>\n', created = 1767368121, expire = 1767454521, headers = '', serialized = 0 WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:39649256b636e3d5ded656bc52bd8c01' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
Версия для печатиОтправить другуPDF version

Один из посетителей блога задал вопрос о возможности отправки файла на e-mail, используя штатную утилиту mail. Однако штатная утилита mail не умеет работать с аттачами, так уж исторически сложилось...

Не будем расстраиваться преждевременно и попытаемся найти выход из сложившейся ситуации.

Скорее всего, отправка будет использоваться в shell-скриптах, поэтому варианты использования скриптов на php, perl, и т.д. - не рассматриваем.

Один из простых и действенных вариантов - использование конвертора uuencode с дальнейшим перенаправлением результата в утилиту mail:

# uuencode /var/log/auth.log auth.log | mail -s "TestMail_1" test [at] example [dot] com

где

  • /var/log/auth.log - путь к отправляемому файлу
  • auth.log - имя файла, которое будет отображено в письме
  • TestMail_1 - тема сообщения
  • test [at] example [dot] com - адрес электронной почты получателя

Еще одним вариантом является использованием утилиты mpack.

Установим утилиту из системы портов:

# cd /usr/ports/converters/mpack && make install clean && rehash

После установки отправляем тестовое письмо с вложенным аттачем:

# mpack -s "TestMail_2" /var/log/auth.log test [at] example [dot] com

где

  • TestMail_2 - тема сообщения
  • /var/log/auth.log - путь к отправляемому файлу
  • test [at] example [dot] com - адрес электронной почты получателя

Еще одним вариантом является использование mutt, который по сути является полноценным консольным постовым клиентом, что уже выходит за рамки этой заметки.  Возможно когда-то и появится статья на эту тему, а пока будем довольствоваться двумя предложенными вариантами.

Ваша оценка: Нет Средняя: 5 (1 голос)

Re: Отправка файла на e-mail

я использую sendEmail

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Вставай, Україно!

Литература

- Слушай, если килобайт - 1024 байт, то килобаб - 1024 бабы?