URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 12864
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Отправка почты с вложением из perl с помощью sendmail"

Отправлено auto_tips , 29-Ноя-05 09:49 
use MIME::Base64 qw(encode_base64);

my $sendmail = '/usr/sbin/sendmail';
my $to = 'linux@domain1.ru';
my $from = 'my@domain2.ru';
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;

URL:
Обсуждается: http://www.opennet.me/tips/info/929.shtml


Содержание

Сообщения в этом обсуждении
"Ж*)"
Отправлено Andrey Mitrofanov , 29-Ноя-05 09:49 
Казалось бы, и при чём тут перл?.. :)

#!/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


"Ж*)"
Отправлено alpha_Qu4z4r , 22-Авг-07 13:20 
syntax error: unexpected end of file
что-то там напутано в башевом скрипте

"Ж*)"
Отправлено Serg , 25-Янв-10 13:18 
Подскажите пожалуйста, что не так?

line 3: recode: command not found


"Отправка почты с вложением из perl с помощью sendmail"
Отправлено dsl , 05-Дек-05 05:03 
Перл при том что иногда нужен перл, за bash тоже спасибо

"Отправка почты с вложением из perl с помощью sendmail"
Отправлено Остров , 13-Дек-05 14:13 
Казалось бы, и при чём тут перл?.. :)

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


"Отправка почты с вложением из perl с помощью sendmail"
Отправлено alpha_Qu4z4r , 22-Авг-07 13:18 
syntax error: unexpected end of file

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


"Отправка почты с вложением из perl с помощью sendmail"
Отправлено yaromyr , 30-Ноя-08 20:32 
Нужно внести некоторые поправки в текст программы

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

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


"Отправка почты с вложением из perl с помощью sendmail"
Отправлено asda , 06-Авг-09 04:47 
asdasdasdsad

"Отправка почты с вложением из perl с помощью sendmail"
Отправлено zerra , 19-Май-10 15:14 
пришло пустое письмо.. с аттачем ) правда аттач 0 байт (

"Отправка почты с вложением из perl с помощью sendmail"
Отправлено Валентин Петрович Алексеев , 02-Июл-11 13:39 
как "исправить ошибку соркета"? Письма не отправляются. Я, кстати, мало того, что новичок, да ещё руки не работают (если надо открывать блок). я в панике