powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Отправка smtp со вложением с локального smtp
10 сообщений из 10, страница 1 из 1
Отправка smtp со вложением с локального smtp
    #37715547
AlexGru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашёл скрипт отпарвки, добработал его только в той части, что жёстко зашил параметры, убрал ssl.
Получилось такое.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
#!/bin/bash
  mailto="xxxxxxx@yyyyyyyyy.ru";
  mailfrom="msk@oracle.com";
  bodyfile="/home/oracle/rman_src/log_1/21_03_2012_12_00.log";
  smtpserver="10.127.24.57";
  subject="$Msc_Db_Oracle";
  smtpport=25

if [ ! -f $bodyfile ]
then
  echo "Error! Cannot find your mail body text file."
  echo "Error! Cannot find your mail body text file." | logger -t `basename $BASH_SOURCE` -p local0.info
  exit 1
fi

echo "Mail From: $mailfrom";
echo "Rcpt To: $mailto";
echo "Data";
echo "Subject: "$subject;
echo "From: "$mailfrom;
echo "To: "$mailto;
echo ;
#cat $bodyfile;

exec 9<>/dev/tcp/$smtpserver/$smtpport
echo "HELO me" >&9
read -r temp <&9
echo "----1----"
echo "$temp"
echo "----2----"
echo "Mail From: $mailfrom" >&9
read -r temp <&9
echo "$temp"
echo "Rcpt To: $mailto" >&9
read -r temp <&9
echo "$temp"
echo "Data" >&9
read -r temp <&9
echo "$temp"
echo "Subject: "$subject >&9
echo "From: "$mailfrom >&9
echo "To: "$mailto >&9
echo >&9
cat $bodyfile >&9
echo "." >&9
read -r temp <&9
echo "$temp"
echo "quit" >&9
read -r temp <&9
echo "$temp"
9>&-
9<&-
echo "Mail Send."
exit 0



Вызываю так
Код: sql
1.
./smail.sh  --bodyfile=/home/oracle/rman_src/log_1/21_03_2012_11_00.log



Ответ
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 Mail From: msk@oracle.com
Rcpt To: xxxxxxx@yyyyyyyyy.ru
Data
Subject:
From: msk@oracle.com
To: xxxxxxx@yyyyyyyyy.ru

----1----
554 SMTP synchronization error
----2----





Mail Send.



Через telnet с сервером удаётся соединиться и отправить сообщение.
Подозреваю, что проблема тут
exec 9<>/dev/tcp/$smtpserver/$smtpport

Но знаний не хватает разобраться/переделать этот фрагмент.

Подскажите.
спасибо.

p.s. smtp сервер на другой машине не на этой, с которой отправляю.
...
Рейтинг: 0 / 0
Отправка smtp со вложением с локального smtp
    #37715732
AlexGru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexGru,
Рершил проблему, прочитав это
Код: sql
1.
2.
3.
Спецификация протокола SMTP требует, чтобы клиент ждал ответа сервера в определённых точках диалога. Без PIPELINING, эти точки синхронизации - после каждой команды; с PIPELINING, их меньше, но они всё ещё существуют.
   Некоторые спамеры высылают полный набор команд SMTP без ожидания какого-либо ответаю Exim защищает от этого, путём отклонения сообщения, если клиент посылал будущий ввод (команды - прим. lissyara), когда этого не должно было быть.Посылается ответ о ошибке “554 SMTP synchronization error”, и соединение обрывается. Тестирование на эту ошибку не может быть идеальным, поскольку задержки передачи (неожиданный ввод может находиться в пути, но не получен при проверках exim). Однако, этим детектируется много случаев.
   Эта проверка может быть глобально отключена путём установки “smtp_enforce_sync” в ложь. Если вы хотите выборочно отключить эту проверку (например, только для определённых хостов), вы можете это сделать путём соответствующего использования модификатора “control” в ACL (смотрите раздел 39.18). Также, смотрите опцию “pipelining_advertise_hosts”.



После каждой команды общения с сервером, сделал sleep 1

Ужасно, хоть и работает.
...
Рейтинг: 0 / 0
Отправка smtp со вложением с локального smtp
    #37715835
Ихтиандр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Текстовый файл вставляешь в почту зачем-то через практически телнет...

Почему не через mail ?

А если файл бинарный?
...
Рейтинг: 0 / 0
Отправка smtp со вложением с локального smtp
    #37717616
AlexGru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не достаточно знаний чтобы настроить/реализовать через mail.

Ещё вот вопрос в догонку, хочу выполнить несколько команд в bash и результат скинуть в текстовик, и потом его тоже себе отправить.

Вот к примеру
Код: sql
1.
ps -ef | grep ora | wc -l >> os.txt



Всё ок, но хотелось бы в текстовом файле получить, не одно число, а что-то типа
Код: sql
1.
oracle procs:  xxx



Как правильно приконкотенактить :) строчку
...
Рейтинг: 0 / 0
Отправка smtp со вложением с локального smtp
    #37717642
AlexGru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИхтиандрТекстовый файл вставляешь в почту зачем-то через практически телнет...

Почему не через mail ?

А если файл бинарный?

Насколько понял, чтобы пользоваться mail должен быть локально запущен как-нибудь почтовый сервер типа sendmail или postfix и в нём уже прописан внешний smtp ?

?
...
Рейтинг: 0 / 0
Отправка smtp со вложением с локального smtp
    #37717993
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexGru

Всё ок, но хотелось бы в текстовом файле получить, не одно число, а что-то типа
Код: sql
1.
oracle procs:  xxx



Как правильно приконкотенактить :) строчку

echo "oracle procs: `ps -ef | grep ora | wc -l`"
...
Рейтинг: 0 / 0
Отправка smtp со вложением с локального smtp
    #37718138
AlexGru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--null--,
спасибо
...
Рейтинг: 0 / 0
Отправка smtp со вложением с локального smtp
    #37718147
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, признаться, у меня иногда стоит сабжевая задача и лучше всего использовать perl/python/tcl и какую-нибудь библиотеку smtp+mime, тогда бинарники будут правильно передаваться

скажем, использую такой небольшой скрипт

Код: ruby
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
#!/usr/bin/tclsh8.3

package require smtp
package require mime

#usage: send_attach Subject Filename Recipient

set subject [lindex $argv 0]
set filename [lindex $argv 1]
set recipient [lindex $argv 2]

proc send_message {recipient email_server subject body} {

    set token [mime::initialize -canonical text/plain -string $body]
    mime::setheader $token Subject $subject
    smtp::sendmessage $token -recipients $recipient -servers $email_server
    mime::finalize $token
}



#### START PROGRAM####

set host smtp.server.com

set imageT [mime::initialize -canonical "image/csv; name=\"$filename\"" -file $filename]

set multiT [mime::initialize  -canonical multipart/mixed -parts [list $imageT]]

set subject "$subject"
mime::setheader $multiT Subject $subject

smtp::sendmessage $multiT -recipients $recipient -servers $host
...
Рейтинг: 0 / 0
Отправка smtp со вложением с локального smtp
    #37718633
Ихтиандр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexGruИхтиандрТекстовый файл вставляешь в почту зачем-то через практически телнет...

Почему не через mail ?

А если файл бинарный?

Насколько понял, чтобы пользоваться mail должен быть локально запущен как-нибудь почтовый сервер типа sendmail или postfix и в нём уже прописан внешний smtp ?

?
Обычно sendmail по умолчанию запущен.
Чтобы он работал достаточно павильно настроенного разрешения DNS.
Если его нет, то прописывается так называемый Smart Relay - почтовик, на который безусловно сваливается вся почта.
...
Рейтинг: 0 / 0
Отправка smtp со вложением с локального smtp
    #37718639
Ихтиандр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строчка начинающаяся с

DS

в /etc/mail/sendmail.cf

Это как раз релай, в качестве которого можешь прописать корпоративный почтарь.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Отправка smtp со вложением с локального smtp
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]