私がやるべきことは、Ubuntuからメールを送ることです。私が見つけた最も簡単な方法は、Thunderbirdを使用して、私の実際の電子メールアドレス([email protected])をThunderbirdアカウントにリンクすることです。この方法で、電子メールを正常に受信し、完全な履歴をダウンロードできます。ただし、メールを送信できません。
私がやりたいのは、Ubuntuから直接電子メールを送信し、user1 @ localhostまたはそれに類似したものとして表示することです。
それも可能ですか?これについてさまざまなトピックを読んだ後、リレーアドレスを使用することが唯一の方法のようです。
そこに書かれているのと同じ方法でPostfixもインストールしました: メールサーバーのセットアップ方法 インストールタイプを選択するように求められたとき、インターネットサイトを選択しました。
私が持っていたオプション:
システムメール名の入力を求められたら、自分が所有するWebサイトsome_website.comを入力しました。私はまだポストフィックスでメールを送信する方法を理解していませんが、リレーサーバーが再び使用されると思います。
Ubuntu 11.10を仮想マシンとして実行しています。
この質問が理にかなっていることを願っています。
それはあなたの仕事であるかのように、「することを想定して」と言ったので、それは完全に意味をなしません。仮想マシン内に実際のメールサーバーを設定していますか?私は、仮想サーバーにメールシステムが必要であるが、仮想サーバーはフルタイムの「本物の」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の例を示します。
[email protected]
Mailhub=smtp.gmail.com:465
RewriteDomain=gmail.com
AuthUser=your_gmail_username # [email protected]
AuthPass=your_gmail_password
FromLineOverride=Yes
UseTLS=Yes
これで、システムは希望する方法でメールを送信します。発信SMTPサーバーのGUIアプリケーションで、localhostをメールサーバーとして使用できます。しかし、CLIはどうでしょうか? mail
ソフトウェアを使用します。
Sudo apt-get install heirloom-mailx
これで、コマンドラインから次のようなメールを使用することもできます。
mail < filename.ascii [email protected] -s "My File"
または、mail
を使用して入力したメッセージ(mail [email protected]
)を作成する場合は、空白行に1つのピリオドを付けてメールメッセージを終了します。より良いCLIメールクライアントはmutt
またはpine
です。
これは必要な角度ですか?もしそうなら、それは成功しましたか?
Thunderbirdを使用している場合は、SMTP用のリモートサーバーを構成できます。独自のメールサーバーをお持ちでない限り、これは通常、ISPのリレーサーバーまたはメールプロバイダーのSMTPサーバーになります。 GmailをSMTPサーバーとして正常に使用しましたが、認証が必要です。 (他のホストの一部も同様です。)
コマンドtelnet mail.example.com 25
を使用してサーバーへのアクセスをテストします。動作している場合は、サーバーからバナーメッセージが表示されます。
Thunderbirdをサーバーと連携させたら、EximまたはPostfixを同じサーバーのサテライトサーバーとして構成できます。他のアプリケーションからシステムからメールを送信する必要がない場合は、これをスキップできます。送信サーバーの送信元アドレスが電子メールを受け入れることができることに注意してください。
編集:iptablesが有効になっておらず、発信トラフィックをブロックしていないことを確認してください。その場合、目的のポートで発信トラフィックを有効にします。 tcptraceroute mail.example.com 25
などのコマンドを使用して、ブロックされている場所を確認できます。 tcptraceroute
は、使用する前にインストールする必要があります。
私はこれを浮浪者の箱でテストし、完璧に動作しました。コマンドを実行して次のものをインストールしました
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
ファイルを変更するには
FromLineOverride = YES
AuthPass = yourpasss
最も重要なのは、安全性の低いアプリからメールにアクセスできるようにすることです。
https://www.google.com/settings/security/lesssecureapps
そして、PHPメール機能を使用するか、ターミナルで次のコマンドを入力して、ターミナル自体からメールを送信できます
$ ssmtp [email protected]
From:[email protected]
件名:件名
こんにちは、これは私の最初のssmtpメールです!.
ctrl + Dを押すと、ssmtpがメールを送信します
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