Автор Тема: bash script за email  (Прочетена 1612 пъти)

theshit

  • Гост
bash script за email
« -: Apr 17, 2013, 10:57 »
Здравейте момчета и момичета,
някой може ли да ми помогне, с един bash script? Искам да го направя готов шаблон за мейл, намерих това, но не ми върши много работа:

Код:
#!/bin/bash
# script to send simple email
# email subject
SUBJECT="SET-EMAIL-SUBJECT"
# Email To ?
EMAIL="admin@somewhere.com"
# Email text/message
EMAILMESSAGE="/tmp/emailmessage.txt"
echo "This is an email message test"> $EMAILMESSAGE
echo "This is email text" >>$EMAILMESSAGE
# send an email using /bin/mail
/bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE

идеята е следната ... да направя готов шаблон за мейл и да го вкарам в bash script обаче мейла да е променлив, примерно ./mail.sh some@mail.tld и да изпраща готовия мейл на определения адрес след командата. Как може да стане, някой help?  :)
 
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: bash script за email
« Отговор #1 -: Apr 17, 2013, 11:09 »
Освен променливия email адрес, има ли друга причина, поради която казваш, че този скрипт не ти върши работа? Ако е само променливият email адрес, то замести
Цитат
EMAIL="admin@somewhere.com"
със
Цитат
EMAIL=$1
и си готов.
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

theshit

  • Гост
Re: bash script за email
« Отговор #2 -: Apr 17, 2013, 11:12 »
Благодаря ти адски много  ;) [_]3
Активен

theshit

  • Гост
Re: bash script за email
« Отговор #3 -: Apr 17, 2013, 11:16 »
Код:
#!/bin/bash
mail -s "Subject" $1 << END_MAIL
Hello,
that's the email
can write some
more text ....
END_MAIL

Ей така стана, много лесно.
« Последна редакция: Apr 19, 2013, 05:39 от theshit »
Активен

morbid_viper

  • Напреднали
  • *****
  • Публикации: 266
  • Distribution: (Open)SUSE since v5.3 (1999)
  • Window Manager: KDE ориентиран
    • Профил
Re: bash script за email
« Отговор #4 -: Apr 22, 2013, 16:53 »
само за пълнота…
аз ползвам малко по-дълъг ред, в който можеш да навреш повече параметри

Код:
        env MAILRC=/dev/null LC_ALL=UTF-8 LC_CTYPE=UTF-8 \
        LC_LANG=bg_BG.UTF-8 from="Apache Digest <smailer@example.org>" \
        sendcharsets=utf-8 encoding=8bit smtp=192.168.0.1 mailx -n \
        -s "Apache restarted" user1@example1.org user2@example2.org < $MAILBODY

където, очевидно, $MAILBODY съдържа името на файла, в който се намира тялото на писмото.

между другото, ако искаш да пращаш на повече от един е-адрес, може да замениш „user1@example1.org user2@example2.org“ с $@, вместо твоето $1. Това ще ти върне всички параметри от командния ред, вместо само първия, но и ще работи дори да си задал само един.
Активен

-------------------------------------------------
Blessed are we to taste this life of sin!
-------------------------------------------------
Registered Linux user #251276

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Bash script и извеждането му
Web development
martien 3 3419 Последна публикация Nov 02, 2006, 11:55
от morbid_viper
Bash script за следене съдържанието на директория
Общ форум
mishot 9 4409 Последна публикация Mar 05, 2008, 00:38
от maniac
Bash script
Общ форум
vikktor 14 5405 Последна публикация Mar 04, 2009, 23:38
от CappY
Помощ за bash script
Общ форум
LinuxFanUNIX 4 2925 Последна публикация May 15, 2009, 23:05
от LinuxFanUNIX
ПРЕМЕСТЕНО: bash script за email
Настройка на програми
neter 0 610 Последна публикация Apr 17, 2013, 11:10
от neter