Windows system >> Windowsの知識 >  >> コンピュータソフトウェアのチュートリアル >> ソフトウェア合成 >> 自分自身に電子メールソフトウェアを準備します

自分自身に電子メールソフトウェアを準備します

  
                              

のOutlook Express、Foxmailの、Eudoraの、の
面は、このようなメールソフトの配列から個人的な手紙のように、飛んで、あなたもそれ独自のものを書きたいことを熱望していますか?以下の手順に従って、あなたはこの願望を達成することができます。手動

A、しばしば表示される文字列を変更する、送信ウィンドウ状態で送信

Foxmailのをしようとする例:メール用等:, RCPT TO、データから、表現労働条件。しかし、その内部機構それは何ですか?電子メールソフトのプロセスについて「モック」の文字を見てみましょう。

最初のWindows95 /98 TELNET.EXEを実行しています。その「端末/環境設定」メニューの「ローカルエコー」を開きます。 「接続」メニューを開き、「リモートシステム」メニュー項目を選択し、ダイアログボックスが開きます。 「ホスト名」で、あなたはその後、接続開始、25で埋めるために「ポート」欄のサーバのアドレスの文字列を入力します。

オンにした後、次の文字に類似があるでしょう:

220 XXXのSendmail ...

220が送信する準備ができて準備を指示するSMTPサーバコードのリターン、です手紙、SENDMAIL UNIXシステムはSENDMAILプロセスの送信を担当して、XXXはサーバーの名前です。

まず、あなたは、システムが自動的にログに書き込まれ、サーバーに自分自身を識別しなければなりません。コマンドのフォーマットは次のとおりです

HELOホスト名の
は、

完了した後、サーバが受け入れるように、250を返します。今、あなたは、送信者のサーバーアドレスを伝える、または相手に返信することができ手紙を送り返すことができませんでした。 FROM

MAIL:あなたのe-mailアドレス

を省略することができないコロンに注意してください。承認された場合、また、250を返します。この時点で、あなたは誰に送信するあなたの手紙のSMTPサーバーを伝えることができます。入力:

RCPT TO:受信者のアドレスは、あなたが繰り返しこのコマンドを使用する場合、それは意味


その同時に複数の受信者に送った手紙。戻りコード250を受信すると、データ転送を開始することができます。 DATAコマンドを入力して、将来のリターンコード354を見てEnterキーを押し、メッセージを入力し始めることができます。あなたの手紙が終わっ失うサーバーに伝えるために、入力した後、別の期間中に新ラインで再生、コンテンツの終わりに、と。サーバから返されたコードを受け取ることができ、この場合250には、OKを示します。

最後に、タイプは、TELNETセッションを終了するには、コマンドを終了します。サーバは221を返した後、それが切断するイニシアチブをとるだろう。

第二に、

私たちの目標は、この一連の動作を完了するためにそれを知らせる、VBプログラムを設計することである
小さなプログラムを書くこと。したがって、あなたは、Visual BasicでWinsockの通信制御を使用する方法を学ばなければなりません。

オープンVB5は、Microsoft Winsockコントロール5.0コントロールを追加し、「プロジェクト/部分」メニューの新しい「標準EXE」プロジェクトを作成します。次に、localportプロパティWinsockコントロールは、通常25、ローカルホストによって使用されるネットワークポートを設定するために使用されています。 RemoteHostプロパティ次に、remoteportプロパティとSMTPサーバとのリンクを示す我々は25に設定次に、remoteportネットワークサーバと通信するどのポートを設けてもよいです。プロトコルプロパティが0 sckTCPProtocolに設定され、TCPプロトコルを使用して発現させました。

Winsockの私たちが必要とするいくつかの方法があります。ための方法を接続する4つのプロパティは、DataArrivalイベントが生成され、データのWinsockを受信した場合、リモートホストを接続するために開始した後に設定。あなたは、このイベントにGetDataメソッドで受信したデータを取得することができます。さらに、データは、SendDataメソッドを送信してもよいです。

これらのデータをマスターし、我々は、単純な送信プログラムを設計することができます。次のようにコントロールに使用する手順:

リターンコードをチェックするために、各コマンド実行サーバと通信するときだけ、それはWinsock1_DataArrivalイベントの一部にメッセージを送信する必要があります。この関数のコードは次の通りである:

プライベートサブcmdSend_Click()

Winsock1.RemoteHost = txtServer.Text

Winsock1.Connect

End Subの

----------------------プライベートサブWinsock1_DataArrival(ByValのbytesTotalの限り)

薄暗いデータ列として

Winsock1.GetDataデータ

のSelect Caseヴァル(データ) '戻りコード処理

ケース220' の通信HELOコマンドが送信されるだけならば、そして

タグ= "HELO"

Winsock1.SendData "HELO" &txtServer.Text&のvbCrLf

ケース250 'リターン250(OK)

のSelect Caseであればタグ' です&txtFrom.Text&のvbCrLf

タグ:決意フラグは「からのメール」だけで実行したコマンドの

ケース「HELO」

Winsock1.SendDataを区別するために、時に実行コマンド設定されています= "メール"

ケース "メール"「ちょうど行っmailコマンドは、実行された場合RCPTコマンド

Winsock1.SendData "RCPT TO:" &txtTo.Text&のvbCrLf

タグ= "RCPT"

ケース "RCPT"「あなただけのRCPTコマンドを実行した場合に実行されますDATAコマンド

Winsock1.SendData "データ" &のvbCrLf

タグ= "データ"

ケース "データ" ただ行っDATAコマンドが実行された場合、

Winsock1.SendData "やめる" とのvbCrLf

タグ= "終了"

終了を選択

ケース251

Winsock1.SendData "データ" &のvbCrLf

タグ= "データ"

ケース354

Winsock1.SendDataの "From:" &txtFrom.Text&のvbCrLf&"へ:" &txtTo.Text&のvbCrLf&"件名:" &txtSubject.Text&のvbCrLf&"日付:" &今すぐ()

Winsock1.SendData "MIME-バージョン:1.0" &のvbCrLf&"のContent-Type:text /plainの;のcharset =" "2312" "" &のvbCrLf&「コンテンツ転送-Encodin G :. 8ビット "&のvbCrLf&のvbCrLf

Winsock1.SendData txtContent.Text

Winsock1.SendDataのvbCrLf&"「&のvbCrLf

ケース221「は明らかである、リターンコード場合はQUITコマンドをコマンドフラグは、

タグ= "切断する準備ができて、 "終了" 以外の戻りコードであれば、他の

ケース」を、誤り

Winsock1.SendDataである" &のvbCrLf < BR>

タグ=

のMsgBox "エラー" "終了" &データ

終了を選択

End Subの

第三に、ヘッダおよびエンコーディング<あなただけの自分自身に送信された電子メールを受信したときにBR>

、あなたが見つけるかもしれない文字でもない、ない「をテーマ」と「に」、「から」「日付。」プログラムは単に電子メールヘッダ情報とメッセージ本体のエンコードに機能を追加しないためです。

から:一般的なメッセージ・ヘッダーは、このようになります "CXX"

は:

件名:?? = GB2312 B taW797TLtKbK5MjrytW8 /SJL =

日付:月、1999年12月20日16:46:58 + 0800

MIME-バージョン:1.0

のContent-Type:text /plainで、

のcharset =「GB2312 「

コンテンツ転送エンコーディング:エンコーディングを指定するメッセージヘッダーのquoted-printableの

は、quoted-printableのされ、実際には、ほとんどの中国のサーバーが8ビットエンコーディングをサポートし、必要はありません再エンコード。変更されたブロックは、次のとおりです。

サブWinsock1_DataArrival()

......

ケース354

Winsock1.SendDataの "From:" txtFrom.Text&のvbCrLf&"へ:" &txtTo.Text&のvbCrLf&"件名:" &&txtSubject.Text&のvbCrLf&"日:" 今&()

Winsock1.SendData "MIME-バージョン:1.0" &のvbCrLf&「のContent-Type:text /plainの。文字セット= "" 2312 "" "&のvbCrLf&"。 "の" Content-転送エンコード8ビット「&のvbCrLf&のvbCrLf

Winsock1.SendData txtContent.Text

Winsock1.SendDataのvbCrLf&&のvbCrLf
......

End Subの

これまでのところ、シンプルなメールソフト。メンバー関心のある読者は、彼らのニーズを満たすように、機能に応じて増減する必要があるかもしれません。

Copyright © Windowsの知識 All Rights Reserved