The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Отправка почты с вложением из perl с помощью sendmail
use MIME::Base64 qw(encode_base64);

my $sendmail = '/usr/sbin/sendmail';
my $to = '[email protected]';
my $from = '[email protected]';
my $attachment = '/path_to/file.tar.gz';

my $buf;
my $subject = MIME::Base64::encode_base64('Здесь размещаем тему письма.');
   $subject =~ s/\n//g;
my $data;
   $data = MIME::Base64::encode_base64("<p>Здесь<br>Можно разместить текст сообщения.<br></p>");
my $boundary = 'simple boundary';
open(MAIL, "| $sendmail -t -oi") or die("$!");

print MAIL <<EOF; 
To: $email_to 
From: $email_from 
Subject: =?UTF-8?B?$subject?= 
Content-Type: multipart/mixed; boundary="$boundary" 
 
This is a multi-part message in MIME format. 
--$boundary 
Content-Type: text/html; charset=UTF-8 
Content-Transfer-Encoding: base64 
 
$data 
--$boundary 
Content-Type: application/octet-stream; name="$attachment" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; filename="$attachment" 
 
EOF

open(FILE, "<$attachment") or die "$!";

while (read(FILE, $buf, 60*57)) { print MAIL encode_base64($buf); }

close FILE;
close MAIL;
 
28.11.2005 , Автор: Andrey
Ключи: mail, mime, perl / Лицензия: CC-BY
Раздел:    Корень / Программисту и web-разработчику / Perl / Работа с электронной почтой

Обсуждение [ RSS ]
  • 1.1, Andrey Mitrofanov (?), 09:49, 29/11/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Казалось бы, и при чём тут перл?.. :)

    #!/bin/sh

    fbase64() { recode ..u8/b64; }
    base64() { echo "$1" | fbase64; }

    sendmail="/usr/sbin/sendmail"
    to="gnu@domain1.org"
    from="my@domain2.ru"
    attachment="/path_to/file.tar.gz"

    subject="Здесь размещаем тему письма."

    data="<p>Здесь<br>Можно разместить текст сообщения.<br></p>"

    boundary='simple boundary'
    ( cat <<EOF;
    To: $email_to
    From: $email_from
    Subject: =?UTF-8?B?'base64 "$subject"'?=
    Content-Type: multipart/mixed; boundary="$boundary"

    This is a multi-part message in MIME format.
    --$boundary
    Content-Type: text/html; charset=UTF-8
    Content-Transfer-Encoding: base64

    'base64 $data'
    --$boundary
    Content-Type: application/octet-stream; name="$attachment"
    Content-Transfer-Encoding: base64
    Content-Disposition: attachment; filename="$attachment"

    EOF

    fbase64 <"$attachment"

    ) | $sendmail -t -oi

     
     
  • 2.5, alpha_Qu4z4r (?), 13:20, 22/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    syntax error: unexpected end of file
    что-то там напутано в башевом скрипте
     
  • 2.9, Serg (??), 13:18, 25/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Подскажите пожалуйста, что не так?

    line 3: recode: command not found

     

  • 1.2, dsl (?), 05:03, 05/12/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Перл при том что иногда нужен перл, за bash тоже спасибо
     
  • 1.3, Остров (?), 14:13, 13/12/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Казалось бы, и при чём тут перл?.. :)

    Да притом, что надо пользоваться модулями, а не городить огород. Хотя админам простительно - они жуткие консерваторы :)))

     
  • 1.4, alpha_Qu4z4r (?), 13:18, 22/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    syntax error: unexpected end of file

    =| что-то там напутано

     
  • 1.7, yaromyr (?), 20:32, 30/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нужно внести некоторые поправки в текст программы

    my $email_to = 'linux@domain1.ru';
    my $email_from = 'my@domain2.ru';

    Неправильно использованні имена переменніх!

     
  • 1.8, asda (?), 04:47, 06/08/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    asdasdasdsad
     
  • 1.10, zerra (?), 15:14, 19/05/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    пришло пустое письмо.. с аттачем ) правда аттач 0 байт (
     
  • 1.11, Валентин Петрович Алексеев (?), 13:39, 02/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    как "исправить ошибку соркета"? Письма не отправляются. Я, кстати, мало того, что новичок, да ещё руки не работают (если надо открывать блок). я в панике
     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру