LINUX.ORG.RU
решено ФорумAdmin

Помогите с конфигом mutt!


0

2

Вобщем есть «сервер»: PURE Mini E350 + ssd + raid1 (2x HDD). Работает на 10.04 Очень нужно как то реализовать: Чтоб «сервер» по расписанию в определенный день недели, в определенное время, отправлял электрописьма (html) и вкладывал в них вложение (находящийся в определенной папке прайс лист). ТЕ чтобы прайс лист и шаблон письма, я например мог изменить в среду, а например в пятницу ночью «сервер» с уже измененным шаблоном цеплял измененный прайс (с постоянным именем файла) и слал по списку.

Список рассылки адресов пока что 100-200. При этом списков для рассылки несколько, и для каждого списка должен цепляться свой прайс лист.

Отправлять планирую через gmail (знаю что есть ограничение в 100 писем при отправке через smtp, если список рассылки разбить то должно хватить)

Почтовый сервер и прочее полагаю ненужно. По идее хватило бы бата с планировщиком, но нужна реализация под Ubuntu. Почтового клиента с планировщиком под линукс не нашел. Подскажите куда копать, ссылки на маны итд. Всем спасибо кто поможет!

Далее на сколько я понимаю нужно будет завести cron чтоб в какоето время он исполнял скрипт отправки писем через mutt. И тут вопрос списки рассылки и текст письма настраивать непостедственно в mutt или в скрипте чтоб он обращаясь к mutt слал письма по 1штуке по списку Как настоить mutt чтоб он цеплял список рассылки и шаблон письма и вложение. Хотелось бы письма слать в html а картинки с веба притянуть, но у mutt на сколько я понял проблеммы с html, так хотяб в тексте( Поставил postfix и mutt , в ручном режиме письма уходят и доходят. Ткните носом в русский мануал инет перерыл ненашел

Вот мой конфиг мута:

set imap_user = "username@gmail.com"
set imap_pass = "your_passwd"
set smtp_url = "smtp://username@smtp.gmail.com:587/"
set smtp_pass = "your_pass"
set from = "username@gmail.com"
set realname = "blah-blah-blah"
set folder = "imaps://imap.gmail.com:993"
set spoolfile = "+INBOX"
set postponed="/Drafts"
set header_cache=~/.mutt/cache/headers
set message_cachedir=~/.mutt/cache/bodies
set certificate_file=~/.mutt/certificates
set move = no

dada ★★★★★
()
Ответ на: комментарий от dada

Дак это просто конфиг..

Дак это конфиг для чтения через имап и написания писем.. Мне бы конфиг где: - подключается шаблон письма - реализованы списки рассылки

sashokaaa
() автор топика

crontab
и mail
mail - вполне базовая системная команда, crontab в убунте тоже должен быть.

takino ★★★★★
()
Ответ на: Я не так давно в линуксе.. от sashokaaa

http://www.codenet.ru/webmast/php/cron.php

http://www.opennet.ru/man.shtml?topic=mail&category=1&russian=2


Кратко:
echo 'some_text_blah_blah_blah'|mail -s 'Subject' -c 'Copyuser1@domain.com;Copyuser2@domain.com' 'user1@domain.lol; user2@domain.com'

Поподробней про настройку на отправку через не-локальный sendmail- не подскажу пока что.

takino ★★★★★
()
Ответ на: комментарий от takino

mail это какаято программа ..??

Так лучше отправлять через mail или nutt???

И по поводу:

Кратко: echo 'some_text_blah_blah_blah'|mail -s 'Subject' -c 'Copyuser1@domain.com;Copyuser2@domain.com' 'user1@domain.lol; user2@domain.com'

Те при изменении получателей в рассылке прийдется править конфиг крона??

Вроде как можно както при отправке через nutt подкулючать файл со списком рассылки? еще нужно подкулючать файл с телом письма и аттач это вроде бы так делается:

mutt -s «Тема Письма» -a /root/backup/test/back.tar info@eddnet.org < mailtext.txt

sashokaaa
() автор топика
Ответ на: mail это какаято программа ..?? от sashokaaa

mutt - не отправлялка почты. mail - отправлялка.

при изменении получателей рассылки надо будет править скрипт отправки.

для списков рассылки есть специальные решения, например, http://internetno.net/category/anonsi/gmail-pozvolyaet-sozdavat-spiski-rassyi...

или софт на твой сервер. это уже сам гугли.

takino ★★★★★
()
Ответ на: комментарий от takino

У меняже связка Postfix + mutt

Mutt насколькоя поня л просто почтовый клиент, а Postfix выступает в роли МТА и шлет почту через smtp в моем случае гугловый..

Вопрос так и не решен.. как должен выглядить код притягивания списка рассылки из файла ??

sashokaaa
() автор топика
Ответ на: Попробую от sashokaaa

Неработает

sashok@hmsrv:~$ mutt -s «Тема Письма» -a /home/sashok/price.xls «`sed -e 's/\n/;/g' < /home/sashok/list_of_users`;mail@gmail.com» < mailtext.txt Не удалось получить информацию о ;mail@gmail.com: Нет такого файла или каталога ;mail@gmail.com: не удалось вложить файл. sashok@hmsrv:~$

Что не так??

sashokaaa
() автор топика
Ответ на: комментарий от v4567

Да подскажи плиз

Ато клиенты без рассылки((

sashokaaa
() автор топика
Ответ на: комментарий от v4567

Значит первое - настроить и подружить smtp из postfix и mutt у меня так и не получилось, на этом форуме спрашивал, но так ничего и не получилось. Поэтому использую ssmtp+mutt

Настраиваем ssmtp

ssmtp использую версии 2.62 качаем отсюда:
http://ftp.debian.org/debian/pool/main/s/ssmtp/ssmtp_2.62.orig.tar.gz
Его можно установить и при этом не обязательно удалять postfix, я postfix не удалял и всё нормально работает.
Устанавливаем стандартно:
./configure
make
make install

Настраиваем:

переносим стандартный конфиг:
mv /usr/local/etc/ssmtp/ssmtp.conf /usr/local/etc/ssmtp/ssmtp.conf_orig
создаём новый:
: > /usr/local/etc/ssmtp/ssmtp.conf
в него добавляем следующие строки:
root=xxxxxx@xxxx.xx # от чьего имени шлем письма, именно реальный почтовый адрес от имени которого будем слать письма
mailhub=xxxxxx.xx:xx # smtp-сервер и порт, например smtp.mail.ru:25 можно smtp.mail.ru:2525
hostname=xxxxx.xxx # имя нашего хоста, желательно вписать верное, тоесть имя компа на котором это всё будет работать, можно узнать командой hostname
UseTLS=Yes # используем зашифрованное соединение
AuthUser=xxxxx@xxxxx.xx # логин, именно логин на почтовом сервере через которое будем слать письма, например в нашем примере это логин на smtp.mail.ru кстати поля root и AuthUser у меня одинаковые, то есть это логин на почтовике mail.ru
AuthPass=xxxxxxxx # пароль, пароль твоего логина на почтовике, в нашем примере на почтовике mail.ru
FromLineOverride=Yes # Поле From: может задавать mutt

v4567 ★★
()
Ответ на: комментарий от v4567

далее настраиваем mutt

Mutt использую версии 1.5.21 здесь внимательно - в этой версии добавился файл: /etc/Muttrc.dist без прописывания в нём некоторых строк ну никак mutt не хотел работать и ещё в этой версии не обязательно иметь папку ~/MuttMail и соответственно файла ~/MuttMail/sent без неё предыдущие версии ну никак не работали, в этой версии этот файл находится в другом месте.

Качаем: http://downloads.sourceforge.net/mutt/mutt-1.5.21.tar.gz

можно установить просто его, но я ещё добавил gnupg это разные ключи для подписания почты и проверки идентичности, в общем всякое такое, я пока не использую но может на будущее пригодится, поэтому установим в начале его

если тебе не нужно то можешь это пропустить, mutt без него будет работать но я всё таки расскажу как его ставить может пригодится

качаем: http://anduin.linuxfromscratch.org/sources/BLFS/svn/g/gnupg-1.4.12.tar.bz2

ставим:

распаковываем архив и заходим в него
./configure --prefix=/usr --libexecdir=/usr/lib
make
make -C doc pdf html
make install
install -v -m755 -d /usr/share/doc/gnupg-1.4.12
mv -v /usr/share/gnupg/FAQ /usr/share/doc/gnupg-1.4.12
install -v -m644 doc/{highlights-1.4.txt,OpenPGP,samplekeys.asc,DETAILS,*.texi} /usr/share/doc/gnupg-1.4.12

ставим mutt:

распаковываем архив и заходим в него
groupadd -g 34 mail
./configure --prefix=/usr --sysconfdir=/etc --with-docdir=/usr/share/doc/mutt-1.5.21 --enable-pop --enable-imap --enable-hcache --without-qdbm --without-tokyocabinet --with-gdbm --without-bdb
make
make -C doc manual.pdf
make install
install -v -m644 doc/manual.{xml,xml.head,xml.tail} /usr/share/doc/mutt-1.5.21
cat /usr/share/doc/mutt-1.5.21/samples/gpg.rc >> ~/.muttrc
mkdir -v /var/log/mutt
mkdir -v /var/spool/mutt
: > /var/log/mutt/mail
: > /var/log/mutt/sent
: > /var/log/mutt/postponed
: > /var/spool/mutt/mail
chmod -R 644 /var/log/mutt
chown -R root.root /var/log/mutt
chmod 755 /var/log/mutt
chown root.root /var/spool/mutt
chown root.root /var/spool/mutt/mail
chmod 755 /var/spool/mutt
chmod 644 /var/spool/mutt/mail

настраиваем mutt:

В конец файлов: /etc/Muttrc /etc/Muttrc.dist и ~/.muttrc (у менz mutt запускается от рута поэтому я добавляю в /root/.muttrc) следующие строки:

set sendmail=«/usr/local/sbin/ssmtp» # путь к ssmtp
set realname=«Mutt» # имя отправителя
set from=«xxxx@xxxx.xx» # e-mail отправителя наш логин на почтовом сервере через который отправляем, такой же как и при настройке ssmtp в нашем примере логин на mail.ru
далее следующие пути обязательно прописать, без них mutt ну никак не хотел работать, причём когда я заходил под пользователем, потом перелогинивался под рутом он работал, о по крону никак не хотел, пока не прописал следующие пути к этим файлам
set folder=«/var/log/mutt/mail»
set spoolfile=«/var/spool/mutt/mail»
set record=«/var/log/mutt/sent»
set postponed=«/var/log/mutt/postponed»

С мутом всё в нашем примере имя отправителя будет Mutt

v4567 ★★
()
Ответ на: комментарий от v4567

Вопрос

Сейчас мутт у меня работает в ручом режиме отправляет почту через постфикс. Вопрос в том как сделать чтоб он подтягивал список адресов для рассылки из файла? из другого файла текст письма, и добовлял вложение вложение.

С кроном пока не экспериментировал, сначала сделать бы чтоб расписка по списку работала.

Или я не дождался продолжения ответа??

sashokaaa
() автор топика
Ответ на: комментарий от v4567

Теперь сам скрипт:

он очень прост

#!/bin/bash

# Все эти параметры скрипта можно было бы вынести в отдельные файлы,
# например файл листа рассылки, файл шаблона сообщения и подключить эти
# файлы: . путь к файлу но зачем морочиться, я правлю прямо в скрипте.

# Тема письма
tem=«тут тема письма»

# Путь к файлу вложения
failvl=«тут путь к файлу вложения»

# Список рассылки, если адреса будут добавляться - то просто добавить строки,
# если адресов станет меньше - то просто закоментировать ненужные.

adr1=«xxx@xxxx.xx»
adr2=«xxx@xxxx.xx»
.....
adrn=«xxx@xxxx.xx»

# Шаблон сообщения, здесь я поступил следующим способом я его пишу в строчку # и применяю тег html <br> для переноса строк.

str1=«Первая строка»
str2=«Вторая строка»
......
strn=«n-я строка»

# Далее сама отправка, если адресов стало меньше - то ненужные строки
# закоментировать, если больше - то добавить.

echo -e «$str1<br>$str2<br>.....$strn» | mutt -e «set content_type=„text/html“» -s «$tem» -a «failvl» — $adr1

echo -e «$str1<br>$str2<br>.....$strn» | mutt -e «set content_type=„text/html“» -s «$tem» -a «failvl» — $adr2

...........

echo -e «$str1<br>$str2<br>.....$strn» | mutt -e «set content_type=„text/html“» -s «$tem» -a «failvl» — $adrn

# Параметр -e в команде echo и параметр -e «set content_type=„text/html“» в mutt
# говорит что мы будем использовать теги html.

# Например если мы хотим выделить строки разным цветом, то можно сделать так
# echo -e «<font color=\»#ff0000\«>$str1</font><br>$str2..$strn»
# где #ff0000 цвет в 16 - ричной интерпретации
# в нашем случае строка str1 будет красного цвета.

v4567 ★★
()
Ответ на: комментарий от v4567

И теперь сам cron

Это то же не сложно.

В файл /usr/local/var/spool/cron/user - где user имя пользователя от которого запускаем cron, добавляем строку:

00 */2 * * * путь к скрипту

где:

00 - минуты

*/2 - часы, в нашем примере будет отсылаться через каждые 2 часа.

день от 1 до 31 - в нашем примере каждый день

месяц от 1 до 12 - в нашем примере каждый месяц

день недели от 0 до 7 (0 и 7 это воскресенье) - в нашем примере каждый день недели.


Вот и всё. У меня вот это всё работает нормально, что и тебе желаю.

v4567 ★★
()
Ответ на: комментарий от v4567

Вечером попробую

Вечером попробую, напишу как все прошло, Спасибо БОЛЬШОЕ!

sashokaaa
() автор топика
Ответ на: комментарий от v4567

а если добавить условие?

Как можно описать условие чтоб при выполнении: echo -e «$str1<br>$str2<br>.....$strn» | mutt -e «set content_type=„text/html“» -s «$tem» -a «failvl» — $adrn

в переменную adrn подставлялся 2-я почта, 3-я итд. пербор строк чтоб был, а при необходимости можно былобы закоментить почту и все. адреса наверно при таком варианте лучше вывести в отдельный файл.

Чтоб не сопоставлять adr1,adr2... с почтой

Просто сейчас 100-200 адресов дальше больше

Пока Ваш скрипт не тестил, в метро сейчас=)

sashokaaa
() автор топика
Ответ на: а если добавить условие? от sashokaaa

можно сделать следующим способом:

В отдельном файле перечислить все адреса почт таким образом:


adr[$pervadr]=«xxx@xx.xx» # Первый адрес.
adr[$pervadr]=«xxx@xx.xx» # Второй адрес.
.........
adr[$pervadr]=«xxx@xx.xx» # n-й адрес.


или в нескольких файлах но нумерацию этих адресов сделать сквозную, собственно переменная адреса будет во всех случаях
одинакова: adr[$pervadr] , потом эти файлы подключить в скрипте следующим образом:

pervadr=1 # Эту переменную надо написать до перечисления файлов.

. /путь к первому файлу/файл1
. /путь к второму файлу/файл2
.......
. /путь к n-му файлу/файлn

kol=300 # Количество адресов всего во всех файлах с адресами.


while [ $pervadr -le $kol ]
do

adres=${adr[$pervadr]}

echo -e «$str1<br>$str2<br>.....$strn» | mutt -e «set content_type=„text/html“» -s «$tem» -a «failvl» — $adres

pervadr=`expr $pervadr + 1`

done

Если элементы рассылки (например вложенные файлы) меняются в течении некоторого времени (например года) а потом всё повторяется с нова, то можно в этом скрипте сделать при помощи циклов и условий замену этих файлов вложений, а так же другой информации, или же написать ещё один скрипт в котором при помощи sed привить этот скрипт.

И ещё один момент, при данной работе mutt он не пишет в файлы:
/var/spool/mutt/mail
/var/log/mutt/mail
/var/log/mutt/postponed
а вот в файл:
/var/log/mutt/sent


записывается текст письма и некоторая служебная информация, что приведёт к его быстрому росту, если он не нужен его можно периодически чистить командой
: > /var/log/mutt/sent

а можно сделать глобально, написав правило в /etc/logrotate.conf

/var/log/mutt/mail
{
rotate 5
size=500k
missingok
copytruncate
nocreate
nodelaycompress
nomail
notifempty
noolddir
compress
}

что приведёт к сжатию данного файла при достижении его размера в 500 кбайт, созданию нового пустого и сжатых файлов будет сохраняться 5 штук а лишние будут удалены.

v4567 ★★
()
Ответ на: комментарий от v4567

/home/sashok/skr: строка 23: ошибка синтаксиса: неожиданный конец файла

#!/bin/bash
# Все эти параметры скрипта можно было бы вынести в отдельные файлы,
# например файл листа рассылки, файл шаблона сообщения и подключить эти
# файлы: . путь к файлу но зачем морочиться, я правлю прямо в скрипте.
# Тема письма
tem=«тут тема письма»
# Путь к файлу вложения
failvl=«/home/sashok/price.xls»
# Список рассылки, если адреса будут добавляться - то просто добавить строки,
# если адресов станет меньше - то просто закоментировать ненужные.
pervadr=1 # Эту переменную надо написать до перечисления файлов. Переменная списка рассылки.
./home/sashok/test.txt
kol=3 # Количество адресов всего во всех файлах с адресами.
# Шаблон сообщения, здесь я поступил следующим способом я его пишу в строчку # и применяю тег html <br> для переноса строк.
str1=«Price»
while [ $pervadr -le $kol ]
do
adres=$ {adr[$pervadr]}
echo -e «$str1» | mutt -e «set content_type=„text/html“» -s «$tem» -a «failvl» — $adres
pervadr=`expr $pervadr + 1`
done

sashokaaa
() автор топика
Ответ на: комментарий от v4567

Первый вариант работает!!!

#!/bin/bash

# Все эти параметры скрипта можно было бы вынести в отдельные файлы,
# например файл листа рассылки, файл шаблона сообщения и подключить эти
# файлы: . путь к файлу но зачем морочиться, я правлю прямо в скрипте.

# Тема письма
tem=«тут тема письма»

# Путь к файлу вложения
failvl=«/home/sashok/price.txt»

# Список рассылки, если адреса будут добавляться - то просто добавить строки,
# если адресов станет меньше - то просто закоментировать ненужные.

adr1=«mail1@list.ru»
adr2=«mail2@list.ru»
adr3=«mail3@list.ru»

# Шаблон сообщения, здесь я поступил следующим способом я его пишу в строчку # и применяю тег html <br> для переноса строк.

str1=«Первая строка»
str2=«<a target=»_blank" href="http://www.radikal.ru«><img src=»http://i064.radikal.ru/0912/95/f328ba7bcf0e.jpg" ></a>"


# Далее сама отправка, если адресов стало меньше - то ненужные строки
# закоментировать, если больше - то добавить.

echo -e «$str1<br>$str2» | mutt -e «set content_type=„text/html“» -s «$tem» -a «$failvl» — $adr1

echo -e «$str1<br>$str2» | mutt -e «set content_type=„text/html“» -s «$tem» -a «$failvl» — $adr2

echo -e «$str1<br>$str2» | mutt -e «set content_type=„text/html“» -s «$tem» -a «$failvl» — $adr3

# Параметр -e в команде echo и параметр -e «set content_type=„text/html“» в mutt
# говорит что мы будем использовать теги html.

# Например если мы хотим выделить строки разным цветом, то можно сделать так
# echo -e «<font color=\»#ff0000\«>$str1</font><br>$str2..$strn»
# где #ff0000 цвет в 16 - ричной интерпретации
# в нашем случае строка str1 будет красного цвета.




2- вариант не хочет почему то

sashokaaa
() автор топика
Ответ на: комментарий от v4567

С точкой и пробелом я понял сейчас вот так2-й вариант выглядит

#!/bin/bash

#В отдельном файле перечислить все адреса почт таким образом:
#adr[$pervadr]=«xxx@xx.xx» # Первый адрес.
#adr[$pervadr]=«xxx@xx.xx» # Второй адрес.
#adr[$pervadr]=«xxx@xx.xx» # n-й адрес.

# Тема письма
tem=«тут тема письма»

# Путь к файлу вложения
failvl=«/home/sashok/price.txt»



#или в нескольких файлах но нумерацию этих адресов сделать сквозную, собственно переменная адреса будет во всех случаях
#одинакова: adr[$pervadr] , потом эти файлы подключить в скрипте следующим образом:

pervadr=1 # Эту переменную надо написать до перечисления файлов.

. /home/sashok/test

kol=38 # Количество адресов всего во всех файлах с адресами.


str1=«Первая строка»
str2=«<a target=»_blank" href="http://www.radikal.ru«><img src=»http://i064.radikal.ru/0912/95/f328ba7bcf0e.jpg" ></a>"


while [ $pervadr -le $kol ]

do

adres=${adr[$pervadr]}

echo -e «$str1<br>$str2» | mutt -e «set content_type=„text/html“» -s «$tem» -a «$failvl» — $adres

pervadr=`expr $pervadr + 1`


done



Скрипт отправляет почту только на последний мейл а потом пишет:

Не было указанно ни одного адресата.
Не было указанно ни одного адресата.
Не было указанно ни одного адресата.
Не было указанно ни одного адресата.

sashokaaa
() автор топика

Извини это я уже ошибся.

В файле пиши так:

# Это комментарий здесь можешь написать просто для себя что бы знать кому принадлежит первый адрес.
pervadr=1
adr[$pervadr]=«xxx@xx.xx»

# Это комментарий здесь можешь написать просто для себя что бы знать кому принадлежит второй адрес.
pervadr=2
adr[$pervadr]=«xxx@xx.xx»

.............

# Это комментарий здесь можешь написать просто для себя что бы знать кому принадлежит n-й адрес.
pervadr=n
adr[$pervadr]=«xxx@xx.xx»

Далее скрипт.

#!/bin/bash

. /Путь к файлу/файл

pervadr=1

str1=«Первая строка»
str2=«Вторая строка»
....
strn=«n-я строка»

tem=«Тема письма.»
failvl=«/Путь к файлу вложения/файл вложения»

kol=n # Сколько всего адресов почт.

while [ $pervadr -le $kol ]

do

adres=${adr[$pervadr]}

echo -e «$str1<br>$str2» | mutt -e «set content_type=„text/html“» -s «$tem» -a «$failvl» — $adres

pervadr=`expr $pervadr + 1`


done

Всё скрипт закончен.

Отличие от предыдущего в том что переменная pervadr стоит после подключения файла с адресами и в файле адресов перед адресами этой переменной присваивается число - порядковый номер почты. Если какая то почта будет не нужна то можно будет её удалить В МЕСТЕ С ПЕРЕМЕННОЙ pervadr или закоментировать диезом (#).

И ещё один момент если получиться так что на некоторые адреса почта будет доходить а на некоторые нет, то можно будет после каждой отправки поставить задержку например на 5 секунда командой sleep 5 выглядеть это будет вот так:

while [ $pervadr -le $kol ]

do

adres=${adr[$pervadr]}

echo -e «$str1<br>$str2» | mutt -e «set content_type=„text/html“» -s «$tem» -a «$failvl» — $adres

sleep 5

pervadr=`expr $pervadr + 1`


done

И не забудь сделать ротацию файла /var/log/mutt/sent потому как расти он будет неимоверно быстро, logrotate так же в cron запишешь и он будет всё делать автоматически.

Всё если какие вопросы спрашивай помогу.

v4567 ★★
()
Ответ на: комментарий от v4567

Да, 2-й варик сейчас работает!! СПАСИБО!

Пока скипты тестил в гугле уж забанили, через хостера сейчас тестю)


Еще вопросик по поводу ротации логов:

Добавил в /etc/logrotate.conf

/var/log/mutt/mail
{
rotate 5
size=500k
missingok
copytruncate
nocreate
nodelaycompress
nomail
notifempty
noolddir
compress
}

/var/log/mutt/sent
{
rotate 5
size=500k
missingok
copytruncate
nocreate
nodelaycompress
nomail
notifempty
noolddir
compress
}

В крон не надо добавлять эти правила, logrotate.conf сам все делает??

sashokaaa
() автор топика
Ответ на: Да, 2-й варик сейчас работает!! СПАСИБО! от sashokaaa

Да в кроне не надо добавлять эти правила, в кроне надо добавить путь к запуску logrotate например так:

20 2 * * 3 /usr/sbin/logrotate /etc/logrotate.conf

/usr/sbin/logrotate /etc/logrotate.conf запускает и говорит logrotate использовать
конфиг /etc/logrotate.conf

В данном примере ротация логов будет происходить 3 дня недели то есть в среду в 2 час 20 минут ночи. Но в твоём случае наверное лучше ротацию сделать каждый день, то есть заменить 3 на *

v4567 ★★
()
Ответ на: комментарий от v4567

Вроде все понял

Щас с кроном бодался, как только через наутилус галочку поставил использовать как программу все заработало!

Спасибо большое за помощь!

Вроде все работает.

Мы оптом комповое железо и кронштейны для теликов продаем, если надо могу прайсик скинуть)

sashokaaa
() автор топика
27 апреля 2012 г.
Ответ на: комментарий от v4567

у меня такая же только другая проблема. смысл короткий - надо каким-то образом понимать дошло письмо до адресата или нет.

бывает что затупил интернет или его вовсе нету, а письма должны копиться до тех пор пока не появится инет и тогда все дружной очередью отправиться по своим адресам. как это сделать? в настройках mutta и msmtp не нашел папки исходящие, ни тот ни другой не отчитываются о доставки письма. (ессно отправляю из скрипта кроном)

pafnuty
()
Ответ на: комментарий от pafnuty

через postfix поробуй

в поствиксе письма в очередь идут вроде как и шлюца из очереди... а по поводу отчета о прочтении было бы супер, если найдешь решение напиши плиз

sashokaaa
() автор топика
Ответ на: комментарий от pafnuty

есть еще какойто смтп

непомню как называется но точно есть какойто смтп специально расчитанный на непостоянный инет

sashokaaa
() автор топика
Ответ на: через postfix поробуй от sashokaaa

действительно в моем случае есть только 2 варианта 1 - использовать postfix. но эта тварь по неведомой причине не хочет отсылать почту. 2- жесткий изврат с msmtp и самописной логикой на bash скриптах. чесно меня постфикс уже так жлстал, что я готов на это пойти.

pafnuty
()
Ответ на: комментарий от pafnuty

Доработал скрипт может кому пригодится..

Доработал скрипт может кому пригодится..

Скрипт:

#!/bin/bash

# Текст письма
str1="Строка 1"
str2="Строка 2"
str3="Строка 3"
str4="Строка 4​"
str5="Строка 5"
str6="Строка 6"
str7="Строка 7"
str8="Строка 8"
str9="Строка 9"
str10="Строка 10"
str11="Строка 11"
str12="Строка 12"

# Тема письма
tem="Тема письма"

# Путь к файлу вложения
failvl="Путь к файлу вложения"

# Список рассылки
adres=`cat файл_рассылки` 
for i in $adres; 

do 

 echo -e "$str1<br>$str2<br>$str3<br>$str4<br>$str5<br>$str6<br>$str7<br>$str8<br>$str9<br>$str10<br>$str11<br>$str12" | mutt -e "set content_type="text/html"" -s "$tem" -a "$failvl" -- "$i"

sleep 5

done

Файл_рассылки:

mail1@mail.ru
mail2@mail.ru
mail3@mail.ru
mail4@mail.ru
mail5@mail.ru
mail6@mail.ru
mail7@mail.ru
mail8@mail.ru
mail9@mail.ru
mail10@mail.ru
sashokaaa
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.