Komut dosyası kullanarak terminalden nasıl posta gönderilir

X veya Y nedenleriyle, bazen şirketimizin sunucusunu belirli bir görevi yerine getirmesi için programlamamız gerekir ve bu görevin sorunsuz bir şekilde yerine getirilip getirilmediğini bilmek isteriz, bunun için programlıyoruz ki her şey yolunda giderse bize bildirin… ama… ¿Nasıl sunucu bizi bilgilendirebilir mi?

Çok basit, size bir senaryo aracılığıyla anlatacağız Python bize bir e-posta gönderdiğiniz için, bu şekilde posta kutusunu kontrol ettiğimizde, sunucunun sipariş verirken herhangi bir sorun yaşamadığını okuyacağız.

Senaryo onları burada bıraktı: gönder-e-posta.py

Kullanmak çok basit, bir terminal açın, içine aşağıdakileri yazın ve [Girmek]:

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

Sürecin nasıl olacağını size bırakıyorum:

% CODE1%

Bu yapıldıktan sonra, kendi verilerinizi koymak için komut dosyasını düzenlemelisiniz, verilerimi, yani buradaki verileri işime koyarak düzenleyeceğim.

Komut dosyasını (send-email.py) açın ve bu verileri değiştirin:

  • E-posta adresiniz@desdelinux. Net e-postanız ile (bu örnekte - » kzkggaara@ipichcb.rimed.cu)
  • Mesaj gövdesi e-postanın içeriğine göre (bu örnekte - » Bu bir test e-postasıdır)
  • you.mailserver.cu posta sunucunuz tarafından (bu örnekte - » 192.168.1.2)
  • E-posta adresiniz kullanıcınız tarafından (bu örnekte - » Kzkggaara)
  • şifreniz şifreniz için (bu örnekte - » HAHA… evet… tabii… LOL)

Aşağıdaki gibi görünür: send-email.py (Değiştirildi)

Ve işte, sadece e-postayı göndermek için kalıyor ... bunun için aşağıdakileri koyacağız:

  • python send-email.py "Burada konuyu yazıyoruz" alıcı@alanadi.com

Başka bir deyişle, komut dosyasını çalıştırmalı ve ona "Konu" parametresini (yani, e-postanın alacağı konu) ve ayrıca kime (e-posta adresi) gönderileceğini iletmeliyiz.

Kendime bir e-posta göndereceğim, işte örnek:

% CODE2%

Ve şimdi 😀

Gördüğünüz gibi, oldukça basit bir şey ... ama bazı durumlarda bize yardımcı olabilir 😉

selamlar


16 yorum, sizinkini bırakın

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   Jondarlek dijo

    çok iyi .. ama Windows için çalışan böyle bir şey istiyorum ama bulamıyorum 🙁

    1.    KZKG ^ Gaara dijo

      Windows için ... mmm ... Python'u Windows arkadaşınıza yüklemelisiniz: http://www.python.org/getit/windows/

    2.    tuvalet dijo

      pencereler için Cobian adında bir araç var, çok iyi ve sezgisel

  2.   Carlos T. dijo

    komut dosyasının gmail (smtp) ile gönderilmesi nasıl etkinleştirilir?

    1.    Elwuilmer dijo

      Ben de aynı sorum var: /

      Yapabilirdim:

      s = SMTP ('smtp.gmail.com')
      s.starttls () # TLS kullanıyorsanız
      s.ehlo ()

      Ancak bana şu hatayı veriyor:

      python send-email.py "Konuyu buraya koyduk" aquimi@correo.com
      Geri izleme (en son yapılan arama):
      "Send-email.py" dosyası, satır 14, içinde
      s = SMTP ('smtp.gmail.com')
      __İnit__ içinde "/usr/lib/python2.6/smtplib.py" dosyası, satır 239
      (kod, mesaj) = self.connect (ana bilgisayar, bağlantı noktası)
      "/Usr/lib/python2.6/smtplib.py" dosyası, satır 295, connect içinde
      self.sock = self._get_socket (ana bilgisayar, bağlantı noktası, self.timeout)
      _Get_socket içindeki dosya "/usr/lib/python2.6/smtplib.py", satır 273
      dönüş soketi.create_connection ((bağlantı noktası, ana bilgisayar), zaman aşımı)
      Create_connection'da dosya "/usr/lib/python2.6/socket.py", satır 561
      hata yükselt, mesaj
      socket.error: [Errno 101] Ağa erişilemiyor

  3.   reedyseth dijo

    İyi ve sonra cron ile programlıyorsunuz ve rapor etmeye hazırsınız: D.

    1.    KZKG ^ Gaara dijo

      Evet! hehe, çok zaman kazanın, işleri scipts ile otomatikleştirin 🙂

  4.   Luweed'ler dijo

    Gönderi için teşekkürler, bunu ilginç buluyorum ve Reedyseth'in bahsettiği işlevselliği ekleyerek bir başka yardımcı program daha var. 😉 selamlar yoldaşlar!

    1.    KZKG ^ Gaara dijo

      Yorumunuz için teşekkürler 😀
      Selamlar arkadaşım.

  5.   Neo61 dijo

    Gaara, arkadaşım, buradaki herkesin vurguladığı gibi bu makalenin çok iyi olduğuna eminim ama ben - NO-PUE-DO-SE-LOS-E-JEM-PLOS-POR-MI-MAL-DI-TA-CO-NEC - TION
    ONLARI GÖRMEK İÇİN NE YAPMALIYIM, BOĞAZIMI KESİN?

    1.    KZKG ^ Gaara dijo

      Bu bağlantıyı açamıyor musunuz? - » http://paste.desdelinux.net/89

  6.   Neo61 dijo

    Size bir şey sorayım, belirli bir günde merkezimin tüm kullanıcılarına belirli bir mesaj gönderebilmem için bir senaryo yazabilir miyim? Öyle olduğunu tahmin ediyorum, ama sen uzmansın ve bunu doğrularsan, bir tane yapmama yardım edebilir misin?

    1.    KZKG ^ Gaara dijo

      Evet, belirli bir günde "bir şeyler" yapmak için kullanmanız gerekir crontab.
      Ardından, kullanıcılarınıza bir .PDF dosyası (örneğin, note.pdf) göndermek istediğinizi varsayarsak, yalnızca 1 e-postaya göndermek şu şekilde olur:
      mail -s "Este es el asunto del correo" direccionemail@loquesea.cu < nota.pdf

      Şimdi, bunu yalnızca bir adrese değil, daha pek çok adrese göndermek için ... adresleri bir metin dosyasında (satır sonu ile ayrılmış) olması ve ardından bir döngü kullanmanız gerekir için. Örneğin, adresler.txt dosyasında e-postalarınız varsa, şu şekilde olacaktır:

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

  7.   David mum dijo

    Teşekkürler dostum, senaryo harika çalışıyor.

  8.   dürüst dijo

    Bana yardım edebilirsen senaryo nerede

  9.   Areli dijo

    Örnekleri paylaşır mısınız ????