Как отправить почту с терминала с помощью скрипта

По причинам X или Y, иногда нам нужно запрограммировать сервер нашей компании для выполнения определенной задачи, и мы хотим знать, была ли эта задача выполнена без проблем, для этого мы программируем, что если все прошло гладко, уведомить нас ... но ... ¿Как может сервер нас уведомить?

Очень просто, расскажем через скрипт Питон чтобы отправить нам электронное письмо, таким образом, когда мы проверяем почтовый ящик, мы прочитаем, если у сервера не было проблем с размещением заказа.

Скрипт оставил их здесь: отправить-email.py

Использовать его очень просто, откройте терминал, напишите в нем следующее и нажмите [Войти]:

cd $HOME/ && wget http://paste.desdelinux.net/paste/?dl=89 && mv index.html\?dl\=89 send-email.py && chmod +s send-email.py

Я оставляю вам такой, каким будет процесс:

% CODE1%

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

Откройте скрипт (send-email.py) и измените эти данные:

  • ваш адрес электронной почты@desdelinux.net по электронной почте (в этом примере - » kzkggaara@ipichcb.rimed.cu)
  • Тело сообщения по содержанию электронного письма (в этом примере - » Это тестовое письмо)
  • you.mailserver.cu вашим почтовым сервером (в этом примере - » 192.168.1.2)
  • ваш адрес электронной почты вашим пользователем (в этом примере - » Kzkggaara)
  • твой пароль для вашего пароля (в этом примере - » ХАХА ... да ... конечно ... LOL)

Выглядит это примерно так: send-email.py (изменено)

И вуаля, осталось только отправить письмо ... для этого поставим следующее:

  • python send-email.py "Здесь мы помещаем тему" recipient@domain.com

Другими словами, мы должны выполнить сценарий и передать ему параметр «Тема» (то есть тему, которую будет принимать электронное письмо), а также кому (адрес электронной почты) оно будет отправлено.

Я пришлю себе электронное письмо, вот пример:

% CODE2%

А теперь 😀

Как видите, что-то довольно простое ... но в определенных случаях может нам помочь 😉

привет


16 комментариев, оставьте свой

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Jondarlek сказал

    это очень хорошо .. но я хочу что-то вроде этого, которое работает для Windows, но я не могу его найти 🙁

    1.    КЗКГ ^ Гаара сказал

      Для Windows ... ммм ... вы должны установить Python на друга Windows: http://www.python.org/getit/windows/

    2.    Джон сказал

      для windows есть инструмент под названием Cobian, он очень хороший и интуитивно понятный

  2.   Карлос Т. сказал

    как включить скрипт для отправки с gmail (smtp)?

    1.    Elwuilmer сказал

      У меня такой же вопрос: /

      Я мог бы:

      s = SMTP ('smtp.gmail.com')
      s.starttls () # Если вы используете TLS
      s.ehlo ()

      Однако это дает мне эту ошибку:

      python send-email.py "Здесь мы помещаем тему" aquimi@correo.com
      Traceback (последний последний вызов):
      Файл "send-email.py", строка 14, в
      s = SMTP ('smtp.gmail.com')
      Файл "/usr/lib/python2.6/smtplib.py", строка 239, в __init__
      (код, сообщение) = self.connect (хост, порт)
      Файл "/usr/lib/python2.6/smtplib.py", строка 295, в соединении
      self.sock = self._get_socket (хост, порт, self.timeout)
      Файл "/usr/lib/python2.6/smtplib.py", строка 273, в _get_socket
      return socket.create_connection ((порт, хост), тайм-аут)
      Файл "/usr/lib/python2.6/socket.py", строка 561, в create_connection
      поднять ошибку, сообщение
      socket.error: [Errno 101] Сеть недоступна

  3.   Ридизет сказал

    Это хорошо, а затем вы программируете его с помощью cron и готовы сообщить: D.

    1.    КЗКГ ^ Гаара сказал

      Да! хе-хе, сэкономьте много времени, автоматизируйте вещи с помощью скриптов 🙂

  4.   Лувиды сказал

    Спасибо за сообщение, я считаю его интересным, и добавление функциональности, которую цитирует Ридизет, имеет еще одну утилиту 😉 привет компас!

    1.    КЗКГ ^ Гаара сказал

      Спасибо за комментарий 😀
      Привет друг.

  5.   Neo61 сказал

    Гаара, мой друг, я уверен, что эта статья очень хороша, как все здесь подчеркивают, но я - NO-PUE-DO-SE-LOS-E-JEM-PLOS-POR-MI-MAL-DI-TA-CO-NEC - ТИОН
    ЧТО ДЕЛАТЬ, ЧТОБЫ УВИДЕТЬ ИХ, РАЗРЕЗАТЬ ГОРЛО?

    1.    КЗКГ ^ Гаара сказал

      Не можете открыть эту ссылку? - » http://paste.desdelinux.net/89

  6.   Neo61 сказал

    Позвольте мне спросить вас, могу ли я сделать сценарий, чтобы в определенный день я мог отправлять конкретное сообщение всем пользователям моего центра? Думаю, да, но вы специалист, и если вы это подтвердите, не могли бы вы мне помочь?

    1.    КЗКГ ^ Гаара сказал

      Да, чтобы сделать что-то в определенный день, вы должны использовать кронтаб.
      Затем, если вы хотите отправить своим пользователям файл .PDF (например, note.pdf), отправка только на одно электронное письмо будет:
      mail -s "Este es el asunto del correo" direccionemail@loquesea.cu < nota.pdf

      Теперь, чтобы отправить это, но не только на один адрес, но и на многие другие ... вам нужно иметь адреса в текстовом файле (разделенные разрывом строки), а затем использовать цикл для. Например, если у вас есть электронные письма в файле address.txt, это будет:

      for i in `cat direcciones.txt`;
      do
      mail -s "Este es el asunto del correo" $i < nota.pdf
      done

  7.   Свеча Давида сказал

    Спасибо, приятель, сценарий отлично работает.

  8.   Фрэнк сказал

    Где сценарий, если вы можете мне помочь

  9.   Арели сказал

    Подскажите пожалуйста примеры ????