Чи можливо надсилати вкладені файли з командного рядка?
Якщо можливо, я хотів би щось просте, як:
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; ще попереду.