web-dev-qa-db-ja.com

SMTPサーバーホストを把握する

Smtpを使用してphpでメールを送信しています。私のクライアントには共有ホスティングがあります。そこでメールアカウントを作成しました。

このアカウントのsmtpサーバーについての情報はありません。私は試しました:smtp.domainname.comしかし、それは接続できません。

Smtpサーバーホストを把握するにはどうすればよいですか?何か案が?

50

あなたは自分自身にメールヘッダーを見てメールを送ることができます(Outlookでは:メールを開く、表示->オプション、「インターネットヘッダー」があります)

14
cimnine

ねえ、これは本当にServerfaultの質問です。

Windowsを使用している場合は、次を実行します。

  1. コマンドプロンプト(CMD.exe)を開く
  2. nslookupと入力してEnterキーを押します
  3. set type=MXと入力してEnterキーを押します
  4. ドメイン名を入力してEnterキーを押します。例:google.com
  5. 結果は、SMTP用にセットアップされたホスト名のリストになります

Linuxを使用している場合

  1. コマンドプロンプトを開く
  2. Dig domain.name MXと入力し、Enterキーを押します。domain.nameは、smtpサーバーを見つけようとしているドメインです。

DNSサーバーから応答が得られない場合は、そのドメインにSMTPサーバーがセットアップされていない可能性があります。この場合、他の人が提案したように、ホスティング会社の技術サポートに連絡してください。

141
Jordan S. Jones

通常、smtpサーバー名はsmtp.yourdomain.comまたはmail.yourdomain.com openコマンドです。プロンプトは、次の2つのコマンドを実行しようとします。

  1. >ping smtp.yourdomain.com
  2. >ping mail.yourdomain.com

ほとんどの場合、上記の2つのコマンドのいずれかから応答が返されます。これがsmtpサーバーになります。

これが機能しない場合は、cpanel --> go to your mailing accounts -- > click on configure mail account -- > there somewhere in the page you will get the information about your smtp serverを開いてください

このように書かれます:

Incoming Server:    mail.yourdomain.com
IMAP Port: ---
POP3 Port: ---
Outgoing Server:    mail.yourdomain.com
SMTP Port: ---
28

Dig/Hostコマンドを使用してMXレコードを検索し、どのメールサーバーがこのドメインのメールを処理しているかを確認できます。

Linuxでは、たとえば次のように実行できます。

$ Host google.com
google.com has address 74.125.127.100
google.com has address 74.125.67.100
google.com has address 74.125.45.100
google.com mail is handled by 10 google.com.s9a2.psmtp.com.
google.com mail is handled by 10 smtp2.google.com.
google.com mail is handled by 10 google.com.s9a1.psmtp.com.
google.com mail is handled by 100 google.com.s9b2.psmtp.com.
google.com mail is handled by 10 smtp1.google.com.
google.com mail is handled by 100 google.com.s9b1.psmtp.com.

(ご覧のとおり、Googleには多数のメールサーバーがあります)

Windowsで作業している場合は、nslookup(?)を使用するか、Webツール(たとえば that one )を使用して同じ情報を表示できます。

ただし、そのドメインのメールサーバーのみが通知されます。必要な他のすべての設定は、その方法で収集することはできません。プロバイダーに尋ねる必要があるかもしれません。

15
tux21b

WIN/DOSコマンドラインで@Jordan S. Jonesの回答を自動化するには、

これをgetmns.batという名前のバッチファイルに入れます(メールネームサーバーを取得します)。

@echo off
if @%1==@ goto USAGE
echo set type=MX>mnscmd.txt
echo %1>>mnscmd.txt
echo exit>>mnscmd.txt
nslookup<mnscmd.txt>mnsresult.txt
type mnsresult.txt
del mnsresult.txt
goto END
:USAGE
echo usage:
echo %0 domainname.ext
:END
echo.

例:

getmns google.com

出力:

google.com      MX preference = 20, mail exchanger = alt1.aspmx.l.google.com
google.com      MX preference = 10, mail exchanger = aspmx.l.google.com
google.com      MX preference = 50, mail exchanger = alt4.aspmx.l.google.com
google.com      MX preference = 40, mail exchanger = alt3.aspmx.l.google.com
google.com      MX preference = 30, mail exchanger = alt2.aspmx.l.google.com

alt4.aspmx.l.google.com internet address = 74.125.25.27
alt3.aspmx.l.google.com internet address = 173.194.72.27
aspmx.l.google.com      internet address = 173.194.65.27
alt1.aspmx.l.google.com internet address = 74.125.200.27
alt2.aspmx.l.google.com internet address = 64.233.187.27

たとえば、結果を再びファイルにパイプするには、次のようにします。

getmns google.com > google.mns.txt

:-D

4
Codebeat

簡単な例:

Ubuntuで、たとえばGmailに興味がある場合は、ターミナルを開いて次のように入力します。

nslookup -q=mx gmail.com
3