質問: exchangeを使用したメール送信について いつも拝見させていただいております。 さっそくですが、質問したいことがあります。 現在、pop before smtpにてメールを送信したいと考えております。 色々、調べてみたのですが、cを勉強し始めて間もないのもありなかなかメールの送信がうまくいきません。 cdoを使用してメール送信を行う手順については調査してみたもののpop before smtpは使用できない旨が ネット検索を行った際に記載してあり使用できないことは判明しております。 一般的に使用する手順等があるのかわかりませんが、上記pop before smtpを実現する方法がありましたら ご教授お願いします。 参考になるurlでも何でも結構ですのでよろしくお願い致します。 (外部dllを使用しない形で対応したいと考えております。 basp21ではできるようなことは検索した際に発見しましたが、できれば避けたいと考えております。)
回答: >cdoを使用してメール送信を行う手順については調査してみたもののpop before smtpは使用できない旨がネット検索を行った際に記載してあり使用できないことは判明しております。 pop before smtpとは「smtpサーバーに接続する前に、popサーバーに接続してユーザー認証をしなさい」と言う仕掛けです。 pop before smtpでの送信手順は、以下のようになります。 1.popサーバーに接続する(ポート110でtelnet接続する) 2.popサーバーにuserコマンドでログインアカウントを送る 3.popサーバーにpassコマンドでログインパスワードを送る 4.ログインメッセージが返って来たらquitコマンドで接続を切る 5.smtpサーバーに接続する(ポート25でtelnet接続する) 6.smtpサーバーにheloコマンドで、先ほどpopしたホストと同一である事を明示する 7.smtpサーバーにmail from:コマンドで自己アドレスを指示する 8.smtpサーバーにrcpt to:コマンドで宛先アドレスを指示する 9.smtpサーバーにdataコマンドでメールのヘッダと本文を送る 10.quitコマンドでsmtpサーバーとの接続を切る このうち、5~10は、cdoなどの既存の送信コンポーネントで実現できます。 また、1~4も、既存の受信コンポーネントで「メールの受信は行わず、サーバ上のリストを取得するだけ」などの処理で代替できます。 つまり「メール受信コンポーネントと、メール送信コンポーネントを用意すれば良いだけ」なのです。そして、受信と送信を連続して行えば良いだけなのです。