Ubuntuサーバーから電子メールを送信する方法は?


13

私がやるべきことは、Ubuntuからメールを送ることです。私が見つけた最も簡単な方法は、Thunderbirdを使用して、私の実際の電子メールアドレス(abc@hotmail.com)をThunderbirdアカウントにリンクすることです。この方法で、電子メールを正常に受信し、完全な履歴をダウンロードできます。ただし、メールを送信できません。

私がやりたいのは、Ubuntuから直接電子メールを送信し、user1 @ localhostまたはそれに類似したものとして表示することです。

それも可能ですか?これについてさまざまなトピックを読んだ後、リレーアドレスを使用することが唯一の方法のようです。

そこに書かれているのと同じ方法で、Postfixもインストールしました: メールサーバーのセットアップ方法は? インストールの種類を選択するように求められたとき、インターネットサイトを選択しました。

私が持っていたオプション:

  • 設定なし。
  • インターネット・サイト;
  • スマートホストを使用したインターネット。
  • ステライトシステム;
  • ローカルのみ。

システムメール名の入力を求められたら、自分が所有するWebサイトsome_website.comを入力しました。私はまだポストフィックスでメールを送信する方法を理解していませんが、リレーサーバーが再び使用されると思います。

Ubuntu 11.10を仮想マシンとして実行しています。

この質問が理にかなっていることを願っています。

回答:


13

それはあなたの仕事であるかのように、「することを想定して」と言ったので、それは完全に意味をなしません。仮想マシン内に実際のメールサーバーをセットアップしていますか?私は、仮想サーバーにメールシステムが必要であるが、仮想サーバーはフルタイムの「本物の」SMTPサーバーではないことを意味する手掛かりを取ります。(そうでなければ、あなたはすでに知っているでしょう、私は乱暴に推測します。)

それを念頭に置いて、「スマートホストを使用したインターネット」オプションが必要になります。基本的に、大きな理由は、世界中の適切に構成されたSMTPサーバーがすべてスパム対策を使用していることです。また、これらの手段の1つは、既知の動的アドレスプールからのすべてのSMTP接続の拒否です(スパマーが使用するのが大好きです)。したがって、送信メールには別のSMTPサーバーを使用する必要があります。

このためにPostfixを使い続けたい場合は簡単です。Postfixをスマートホストとして設定することに関するUbuntuの記事を検索するだけです。ただし、あるシステムと別のシステムとの間に特別な親和性がない場合は、このためだけに設計されたパッケージがありますssmtp。したがって、試してみたい場合は、ssmtpをインストールしてください。

注意:以下のアクションはpostfixまたはsendmailを削除します。

sudo apt-get install ssmtp

次に、ssmtp構成ファイルを編集します。

sudo -e /etc/ssmtp/ssmtp.conf

使用可能なSMTPサーバーの詳細がわからないため、GMailの例を示します。

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

これで、システムは希望する方法でメールを送信します。送信SMTPサーバーのGUIアプリケーションで、localhostをメールサーバーとして使用できます。しかし、CLIはどうでしょうか?mailソフトウェアを使用します。

sudo apt-get install heirloom-mailx

これで、コマンドラインから次のようなメールを使用することもできます。

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

または、mailmail someone@somewhere.com)と入力してメッセージの作成に使用する場合は、空白行で1つのピリオドでメールメッセージを終了します。より良いCLIメールクライアントはmuttまたはpineです。

これは必要な角度ですか?もしそうなら、それは成功しましたか?


1
Muttが電子メールを送信しようとすると「sendmail:Cannot open:25」と表示されます。ssmtpには「ssmtp:cannot open:25」と書かれていますが、Thunderbird経由でメールを送信することもできますが、間違っていたと思います。ごめんなさい Thunderbird経由で電子メールを送信しようとして送信するとタイムアウトになり、CLIメールクライアントを使用するとポート25に関するメッセージが表示されます。
afaf12

@ afaf12は、ファイアウォールがブロックしているかどうかを確認します。接続タイムアウトエラーは、主にファイアウォールの問題が原因で発生します。
ムギル

1
リモートメールサーバーは、構成またはファイアウォールによって、特定のアドレス範囲へのアクセスを制限しますか?

このリモートメールサーバーで送信ポート465を使用する必要がありますか?

sudo /etc/init.d/ssmtp restartマシンで実行できません。
ナムG VU

1

Thunderbirdを使用している場合、SMTP用にリモートサーバーを構成できます。独自のメールサーバーをお持ちでない限り、これは通常、ISPのリレーサーバーまたはメールプロバイダーのSMTPサーバーになります。GmailをSMTPサーバーとして正常に使用しましたが、認証が必要です。(他のホストの一部も同様です。)

コマンドを使用してサーバーへのアクセスをテストしますtelnet mail.example.com 25。動作している場合は、サーバーからバナーメッセージが表示されます。

Thunderbirdをサーバーと連携させたら、EximまたはPostfixを同じサーバーのサテライトサーバーとして構成できます。他のアプリケーションからシステムからメールを送信する必要がない場合は、これをスキップできます。送信サーバーの送信元アドレスが電子メールを受け入れることができることに注意してください。

編集:iptablesが有効になっておらず、発信トラフィックをブロックしていないことを確認してください。その場合、目的のポートで発信トラフィックを有効にします。次のようなコマンドを使用して、tcptraceroute mail.example.com 25ブロックされている場所を確認できます。 tcptraceroute使用する前にインストールする必要があります。


Telnet:リモートホストに接続できません:接続がタイムアウトしました。リモートサーバーはポート25でメールを受信できると確信しています。他のマシン(Windows 7)からこのリモートサーバーにメールを正常に送信しました。
afaf12

0

私はこれを浮浪者の箱でテストし、完璧に動作しました。コマンドを実行して次のものをインストールしました

apt-get php-pearのインストール

梨インストールメール

p_install Net_SMTP

pear install Auth_SASL

pear install mail_mime

次に、次のコマンドを実行して後置をインストールします

apt-get install postfix

インストール中に選択-

localhostでこれを試みるため、サーバーの代わりにインターネットサイトとlocalhost

この後、次のコマンドを実行します

sudo vim /etc/ssmtp/ssmtp.conf

ファイルを変更する

これをssmtp.confファイルに変更します

FromLineOverride = YES

AuthUser=youremail@gmail.com

AuthPass = yourpasss

最も重要なのは、安全性の低いアプリがメールにアクセスできるようにすることです。

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

そして、PHPメール機能を使用するか、端末で次のコマンドを入力して端末自体からメールを送信できます

$ ssmtp youremail@gmail.com

From:youremail@gmail.com

宛先:sendto@email.com

件名:件名

こんにちは、これが私の最初のssmtpメールです!

Ctrl + Dを押すと、ssmtpがメールを送信します

あなたのマシンからSMTPが動作しているかどうかを確認することもできます

ping smtp.gmail.com

-このコマンドからの出力は次のようなものです

sc-in-f108.1e100.net(74.125.68.108)からの64バイト:icmp_seq = 1 ttl = 63 time = 68.4 ms

telnet smtp.gmail.com 587

-出力はこのようなものでなければなりません

74.125.68.108を試しています...

gmail-smtp-msa.l.google.comに接続しました。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.