none
IPv6用のIPアドレスでメールを送信したい RRS feed

  • 質問

  • こんにちは

    .Net Frameworkにでサポートしているプロトコルについて、ご教授いただけると幸いです。

    環境はVisual Studio 2010を使っています。
    .Net Frameworkのバージョンとしては、2.0と4.0で確認しています。

    IPv6環境で、IPv6用のIPアドレスを用いてメールの送信が行えないか確認しています。
    てしかし、メールの送信を行えません。
    ネットワークアナライザなどで見ても、SMTPのフレームを投げていない様です。

    そもそも、.NetではIPv6に対応したSMTPに対応していないのでしょうか?

    以上、よろしくお願いします。

    2012年2月29日 4:15

すべての返信

  • 対応していると思います。単にDNSの問題ではありませんか?

    SMTPサーバーのアドレスとしてIPv6アドレスを指定した場合はどうなりますか? また、Dns.GetHostAddresses()メソッドでSMTPサーバーのホスト名を検索した際、先頭にIPv6アドレスが含まれますか?

    2012年2月29日 5:13
  • 回答どうもありがとうございました。
    戴いた内容を確認しました。

    > SMTPサーバーのアドレスとしてIPv6アドレスを指定した場合はどうなりますか?

    ソースコードは以下の様に記載しています。
    ※IPアドレスは一部編集しています、Pingなどの疎通では問題ありません。

    sc.Host = "fe80::b8a2:dcb5:1111:1111"; 
    sc.Send(senderMail, recipientMail, subject, body);

    上記を実行しても
    ネットワークアナライザで見て、SMTPのフレームが確認出来ませんでした。

    ICMPv6のフレームにて、
    Neighbor solicitationを送信して、Neighbor advertisementを受信したところ
    まで確認できています。IPアドレスとMACアドレスは正しい値でした。

    本来、この後にSMTPが走ると考えているのですが

    ちなみに、IPv4のアドレスを指定すると問題なく動作します。

    > また、Dns.GetHostAddresses()メソッドでSMTPサーバーのホスト名を検索した際、
    > 先頭にIPv6アドレスが含まれますか?

    ローカルパソコンに、Xmailをメーラーとして設定しまして、上記を実行しましたら
    IPv6アドレスが含まれした。

    何か、重要なキーワードを忘れているのでしょうか?

    2012年2月29日 8:46
  • ソースコードは以下の様に記載しています。
    ※IPアドレスは一部編集しています、Pingなどの疎通では問題ありません。

    sc.Host = "fe80::b8a2:dcb5:1111:1111"; 
    sc.Send(senderMail, recipientMail, subject, body);

    上記を実行しても
    ネットワークアナライザで見て、SMTPのフレームが確認出来ませんでした。

    そのsc.Send()でメールそのものは送信できているのですか? 送信できているのなら、IPv6で通信できているでしょうし、ネットワークアナライザでの確認方法に問題があるのではと思います。エラーになるのなら、エラー内容を確認してください。エラーにならずに送信できないとなると…ちょっとわかりません。

    # いずれにしてもネットワークアナライザを持ち出すレベルではないような…。

    2012年2月29日 11:02
  • fe80~ってことはリンクローカルアドレスですよね。リンクローカルだと、
    宛先から送出IFが一意に決定できないことになるので、それが原因かもしれません。
    RAでもらったアドレスで試してみるとどうなりますか?


    jzkey

    2012年2月29日 14:31
  • 質問者です。

    回答ありがとうございました。

    戴いた内容を色々と試した結果、原因が分かりました。

    25番ポートを開放できていませんでした。

    Telnetを用いてIPv4のアドレスでアクセスすると問題なく接続出来ました。
    しかし、IPv6のアドレスで25番ポートをアクセスしても「接続できませんでした」
    という結果になります。
    アドレスは、fd::3や2004::203などを強制的に設定して確認しました。

    ※IPv6のアドレスで80番ポートをアクセスするとアクセスでき、netstatで確認
     すると、そのアドレスとポート番号が表示されました。

    IPv6のアドレスで25番ポートをアクセスする方法を調査しているのですが、
    解決できていません。

    何か、方法が(xmailの設定?もしくはWindows?)あったらご教授いただけると
    幸いです。

    2012年3月2日 9:22