Ubuntu sunucusundan e-posta nasıl gönderilir?


13

Yapmam gereken şey Ubuntu'dan e-posta göndermek. Bulduğum en kolay yol Thunderbird kullanmak ve gerçek e-posta adresimi (abc@hotmail.com) Thunderbird hesabına bağlamak. E-postaları başarıyla alabilir ve tüm geçmişi bu yolla indirebilirim. Ancak e-posta gönderemiyorum.

Ne yapmak istiyorum Ubuntu doğrudan e-posta göndermek ve user1 @ localhost veya benzer bir şey olarak görünür.

Bu mümkün mü? Bununla ilgili farklı konuları okuduktan sonra, aktarma adresi kullanmanın tek yolu olduğu görülüyor.

Ben de orada yazılanla aynı şekilde Postfix'i yükledim: Bir posta sunucusu nasıl kurulur? Kurulum türünü seçmem istendiğinde, internet sitesini seçtim.

Sahip olduğum seçenekler:

  • Yapılandırma yok;
  • İnternet sitesi;
  • Smarthost ile İnternet;
  • Stellit sistemi;
  • Sadece yerel;

Sistem posta adı istendiğinde, sahip olduğum bir web sitesine girdim: some_website.com. Hala e-posta bia postfix nasıl gönderileceğini anlayamadım ama yine bir aktarma sunucusu kullanılacak varsayalım.

Sanal makine olarak Ubuntu 11.10 kullanıyorum.

Umarım bu soru mantıklıdır.

Yanıtlar:


13

Mükemmel bir anlam ifade etmiyor çünkü “sanırım” diyorsunuz, sanki sizin işinizmiş gibi. Sanal makinede gerçek bir posta sunucusu kuruyor musunuz? İpuçlarını, bir posta sistemine sahip olmak için sanal sunucuya ihtiyacınız olduğu, ancak sanal sunucunun tam zamanlı "gerçek" bir SMTP sunucusu olmadığı anlamına gelir. (Aksi halde zaten biliyordun, sanırım çılgınca.)

Bunu göz önünde bulundurarak, "smarthost ile İnternet" seçeneğine ihtiyacınız olacaktır. Esasen, bunun en büyük nedeni, dünya çapında iyi yapılandırılmış SMTP sunucularının hepsinin istenmeyen posta önleme önlemleri kullanmasıdır; ve bu önlemler arasında bilinen dinamik adres havuzlarından (spam göndericilerin kullanmayı sevdiği) gelen tüm SMTP bağlantılarının reddedilmesi de yer alıyor. Bu nedenle, giden postalar için başka bir SMTP sunucusu kullanmanız gerekir.

Bunun için Postfix ile bağlı kalmak istiyorsanız, bunu yapmak kolaydır: Postfix'i akıllı ana makine olarak ayarlamakla ilgili Ubuntu makalelerini arayın. Eğer başka bir yere bir sistem için özel bir yakınlık varsa, ancak, bunun için sadece tasarlanmış bir paket vardır: ssmtp. Yani, bir spin vermek istiyorsanız, sadece ssmtp'yi yükleyin.

( Dikkat: aşağıdaki işlem postfix veya sendmail'i silecektir. )

sudo apt-get install ssmtp

Sonra ssmtp yapılandırma dosyasını düzenleyin:

sudo -e /etc/ssmtp/ssmtp.conf

Kullanabileceğiniz bir SMTP sunucusunun ayrıntılarını bilmiyorum, bu yüzden bir GMail örneği vereceğim:

Root=your_email@gmail.com
Mailhub=smtp.gmail.com:465
RewriteDomain=gmail.com
AuthUser=your_gmail_username # me@gmail.com
AuthPass=your_gmail_password
FromLineOverride=Yes
UseTLS=Yes

Şimdi sisteminiz postaları istediğiniz şekilde gönderecektir. Localhost'u, giden SMTP sunucusu için GUI uygulamalarınızda bir posta sunucusu olarak kullanabilirsiniz. Peki ya CLI? mailYazılımı kullanın :

sudo apt-get install heirloom-mailx

Artık postaları komut satırından aşağıdaki gibi bir şeyle de kullanabilirsiniz:

mail < filename.ascii someone@somewhere.com -s "My File"

Veya, mail( mail someone@somewhere.com) yazdığınız bir ileti oluşturmak için kullanırsanız , boş bir satırda tek bir nokta ile posta iletisini bitirin. Daha iyi bir CLI posta istemcisi muttveya pine.

Bu ihtiyacınız olan açı mı? Eğer öyleyse, başarılı oldu mu?


1
Mutt, e-posta göndermeye çalıştığımda "sendmail: Açılamıyor: 25" diyor. ssmtp "ssmtp: açılamıyor: 25" diyor Thunderbird aracılığıyla e-posta gönderebileceğimi de söyledim, ama yanıldığımı düşünüyorum. Bunun için üzgünüm. Thunderbird aracılığıyla e-posta göndermeye çalışırken CLI posta istemcilerini kullanırken 25 numaralı bağlantı noktasıyla ilgili iletiler zaman aşımına uğruyor.
afaf12

@ afaf12 güvenlik duvarının engellenip engellenmediğini kontrol edin. Bağlantı zaman aşımı hatası esas olarak güvenlik duvarı sorunu nedeniyle oluşur.
Mughil

1
Uzak posta sunucusu yapılandırma veya güvenlik duvarı ile belirli adres aralıklarına erişimi kısıtlıyor mu?

Bu uzak posta sunucusunda gönderim portu: 465'i kullanmanız gerekiyor mu?

Ben alamıyorum sudo /etc/init.d/ssmtp restartbenim makinede çalışılabilir.
Nam G VU

1

Thunderbird kullanıyorsanız, SMTP için bir uzak sunucu yapılandırabilirsiniz. Kendinize ait bir posta sunucunuz yoksa, bu normalde İSS'nizin geçiş sunucusu veya posta sağlayıcılarınızın SMTP sunucusu olacaktır. Gmail'i SMTP sunucum olarak başarıyla kullandım, ancak kimlik doğrulaması gerektiriyor. (Diğer ev sahiplerinden bazıları da olabilir.)

Sunucuya erişimi komutla test edin telnet mail.example.com 25. Çalışıyorsa, sunucudan bir banner mesajı alırsınız.

Thunderbird'ün sunucu ile çalışmasını sağladıktan sonra, Exim veya Postfix'i aynı sunucu için bir uydu sunucusu olarak yapılandırabilirsiniz. Diğer uygulamalardan sistemden e-posta göndermeniz gerekmiyorsa bunu atlayabilirsiniz. Giden sunucudaki kaynak adresin e-postayı kabul edebileceğine dikkat edin.

EDIT: iptables etkin olmadığını ve giden trafiği engelleme olmadığını kontrol edin. Bunu yaparsanız, istediğiniz bağlantı noktasında giden trafiği etkinleştirin. tcptraceroute mail.example.com 25Nerede engellendiğinizi görmek gibi bir komut kullanabilirsiniz . tcptraceroutekullanmadan önce kurulması gerekir.


Telnet: Uzak ana bilgisayara bağlanamıyor: bağlantı zaman aşımına uğradı. Uzak sunucunun 25 numaralı bağlantı noktasında posta kabul edebileceğinden eminim. Başka bir makineden (Windows 7) bu uzak sunucuya başarıyla e-posta gönderdim.
afaf12

0

Bunu serseri bir kutuda test ettim ve mükemmel çalıştım. Komutu çalıştırarak aşağıdaki şeyleri yüklediniz

apt-get kurulum php-armut

armut posta yüklemek

armut Net_SMTP yükleyin

armut yüklemek Auth_SASL

armut yüklemek mail_mime

Ardından aşağıdaki komutu çalıştırarak postfix'i kurun

apt-get kurulum postfix

Kurulum sırasında

Internet Sitesi ve localhost sunucu yerine çünkü bunu localhost üzerinde deniyoruz

Bundan sonra aşağıdaki komutu çalıştırın

sudo vim /etc/ssmtp/ssmtp.conf

dosyalarda değişiklik yapmak

bunu ssmtp.conf dosyası olarak değiştir

FromLineOverride = EVET

AuthUser=youremail@gmail.com

AuthPass = yourpasss

en önemlisi, e-postanızı daha az güvenli uygulamalara

https://www.google.com/settings/security/lesssecureapps

ve sonra terminalin kendisinden posta göndermek için php mail fonksiyonunu kullanabilir veya terminalde aşağıdaki komutu girebilirsiniz

$ ssmtp youremail@gmail.com

Gönderen: youremail@gmail.com

KİME: sendto@email.com

Konu: Konu

Merhaba bu benim ilk ssmtp e-postam !.

Ctrl + D tuşlarına basın ve ssmtp e-postanızı gönderecektir

Smtp'nin çalışıp çalışmadığını makinenizden de kontrol edebilirsiniz.

ping smtp.gmail.com

- bu komuttan çıkış şuna benzer

Sc-in-f108.1e100.net'ten 64 bayt (74.125.68.108): icmp_seq = 1 ttl = 63 zaman = 68,4 ms

telnet smtp.gmail.com 587

- çıktı böyle bir şey olmalı

74.125.68.108 çalışıyor ...

Gmail-smtp-msa.l.google.com adresine bağlandı.

220 smtp.gmail.com ESMTP l14sm12513264pfb.73 - gsmtp

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.