Чи можливо надсилати вкладені файли з командного рядка?
Якщо можливо, я хотів би щось просте, як:
mail -a myfile.txt -t me@example.com -s "Here's my file"
Чи можливо надсилати вкладені файли з командного рядка?
Якщо можливо, я хотів би щось просте, як:
mail -a myfile.txt -t me@example.com -s "Here's my file"
Відповіді:
З усіх агентів поштових користувачів у сховищі Ubuntu, схоже, що mutt - це командний рядок MUA, який підтримується Довгостроковою підтримкою.
Відповідно до посібника , ви можете зробити щось саме так:
mutt -a myfile.txt -s "Here's my file" -- me@example.com
за винятком того, що він нікуди не піде, оскільки одному також потрібен агент пересилання пошти. Популярними є:
і єдині, які, схоже, підтримують Canonical, - це постфікс (спасибі за виправлення Стіва) та exim4 .
Можна також сказати, що xdg-електронна пошта також є належним Ubuntu MUA, але це передній кінець з голими кістками, який виконує лише ваш бажаний MUA від вашого імені.
Якщо ви хочете порадити, який MTA може бути придатним для використання, можливо, відкрийте тут інше питання.
mutt
працювала як рекламується. Між іншим, у nullmailer є фальшивий фронтальний sendmail, так що більшість програм, які очікують на розмову з sendmail, пересуваються на справжній MTA з нульовими зусиллями від мене.
У мене були погані проблеми з надсиланням файлів вкладень. Коли я надіслав електронний лист без вкладення, він був успішним, але не був із вкладенням. Ця проблема була існує з sendemail
, mutt
, mail
, mailx
, uuencode
командою.
На щастя, це було вирішено весело. Я використовую Gmail для надсилання електронної пошти. Ви можете налаштувати свою електронну пошту для надсилання електронної пошти за допомогою команд у терміналі, як оголошено за адресою http://www.linuxandlife.com/2013/01/send-email-from-linux-terminal.html .
Ви можете надіслати текстове повідомлення електронною поштою за допомогою:
mail -s "hello" RECEIVE@mail.com < /home/masoud/YOURFILE.txt
але ви не можете надіслати такий самий файл, як вкладення, як показано нижче:
mail -s "hello" RECEIVE@mail.com -a /home/masoud/YOURFILE.txt
або:
mail -s "hello" -a /home/masoud/YOURFILE.txt RECEIVE@mail.com
Нарешті, я зрозумів, що лише цей формат може надсилати вкладення:
echo "your message here" | mail -s "title" -a /home/masoud/YOURFILE.txt RECEIVE@mail.com
Дивно, що різниця полягає в існуванні команди "ехо".
Здається, що зараз -a
параметр змінено з верхнього регістру -A
для вкладення. -a
, Здається, для зміни заголовка згідно з документом
.zshrc
файл комусь, і хоча я mail
багато використовую для надсилання швидких повідомлень, спроба надіслати вкладення не працювала. Мені просто потрібно було підтвердження, що можна зрозуміти, що порядок аргументів дуже важливий. Це спрацювало для мене: mail -s "zshrc" -a ~/.zshrc username@example.com
... звичайно, мені все ж довелося набрати тіло повідомлення та натиснути ctrl+d
на останній порожній рядок.
mail username@example.com -a ~/.zshrc
"працювало" в тому, що він надіслав повідомлення, але файл не надіслав. Якби я спробував, mail username@example.com -a ~/.zshrc -s 'zshrc'
було б очевидно, що парами після адреси одержувача були ігноровані.
Ви можете надіслати файл з оболонки , але в іншому випадку використовувати Thunderbird .
У цьому випадку спробуйте thunderbird -remote ...
корисно - якщо припустимо, що громовержець зазвичай працює:
Команда відкриває вікно складання пошти запущеного екземпляра громовідводу.
Адреса "Від" - це ваша за замовчуванням адреса, налаштована на thunderbird.
Також використовуються існуючі налаштування облікового запису , окрема настройка не потрібна.
Для пошти, адресованої you@example.com
темі "S", тілу "B" та вкладеному файлу /some/absolute/file.txt
, команда є
thunderbird -remote "xfeDoCommand(composeMessage,subject='S',to='you@example.com',body='B',attachment='/some/absolute/file.txt')"
Є дві проблеми:
Прикріпленому файлу потрібно надати абсолютний шлях , який стомлює на практиці. Це можна вирішити, використовуючи readlink -f
для вирішення відносних шляхів:
thunderbird -remote "xfeDoCommand(composeMessage,subject='S',to='you@example.com',body='B',attachment='$(readlink -f file.txt)')"
Також команда - довго. Використовуйте скрипт оболонки або функцію оболонки з чотирма аргументами:
thunderbird-compose () {
thunderbird -remote "xfeDoCommand(composeMessage,subject='$1',to='$2',body='$3',attachment='$(readlink -f $4)')"
}
Завдяки цій функції команда стає читабельною:
thunderbird-compose 'Some Subject' test@example.com 'Body of message' file1
відкриє вікно "Написати" громовідводу із вкладеним файлом , а також заповнені "Від", "Тема" та "Основний текст". Її можна редагувати перед надсиланням.
heirloom-mailx
пакунок в debian забезпечує mailx
команду легко надсилати вкладення mime. наступні роботи для мене;
mailx -a attachment.zip -s subject rctp@domain.to
mail
і mailx
включений до RH-подібних -a
файлів має вкладення до файлів, але той, що входить в Debian-alikes, не робить.
Я хочу додати ще одну відповідь, яка використовується для додавання тексту тексту разом із додатком. Ура !!
echo "This is the message body" | mutt -a "/path/to/file.to.attach" -s "subject of message" -- recipient@domain.com
mail
(він жеmailx
) є MIME неосвіченим, тому не може обробляти вкладені файли жодним чином, що не дорівнює 1980ish. Це гарне запитання, я шукаю канонічного канонічного MUA; ще попереду.