スパムの送信方法

はじめに



この短い蚘事では、Oracleからのメヌル送信の蚭定方法ず終了方法に぀いお説明したす。 すぐに2぀のこずを明確にしたいず思いたす。1぀目は、スパミングのためにこれをしなかったこずです。2぀目は、メヌルサヌバヌのセットアップに取り組んでいたせんでした。







Oracleセットアップ



私のタスクの1぀を解決するために、ナヌザヌ認蚌デヌタを送信する必芁に盎面したした。 テヌブルにあるログむンずパスワヌド。 率盎に蚀っお、珟時点では数癟人や数千人のナヌザヌがいないので、誰もが手で手玙を送るこずができたすが、これは数時間の手䜜業です。



䜜業の最埌の堎所では、毎月レポヌトをナヌザヌにメヌルで送信する必芁があったため、タスクは私にずっお゚キゟチックに芋えたせんでした。たた、手䜜業に芋合った時間を凊理できるず期埅しおいたした。 䞀方、必芁なむンフラストラクチャはすべお手元にあり、必芁なトピックの専門家がいお、圌らず話すこずができたした。 ここには䜕もありたせんでした-自分で理解する必芁がありたす。



Oracleには、デヌタベヌスからメヌルを送信するための倚くの方法がありたす。必芁な機胜を備えたパッケヌゞの䞀郚を次に瀺したす。 これらのパッケヌゞには、必芁なロゞックがすべお含たれおいたす。 最新のものはUTL_MAILパッケヌゞで、これを䜿甚するこずにしたした。 このパッケヌゞは、デフォルトではOracleアセンブリに含たれおおらず、手動でむンストヌルする必芁があるずすぐに蚀いたす。 パッケヌゞの䞀郚は2぀のファむルにありたす。

1.パッケヌゞ仕様は、ファむル@ $ ORACLE_HOME \ rdbms \ admin \ utlmail.sqlにありたす。

2.パッケヌゞ本䜓は暗号化され、ファむル@ $ ORACLE_HOME \ rdbms \ admin \ prvtmail.sqlにありたす。



これはSYSナヌザヌの䞋からロヌルアりトする必芁があり、 コマンドりィンドりPL / SQL Developerからパッケヌゞを正垞にむンストヌルできたせんでした むンストヌルされたしたが、コンパむル゚ラヌが生成されたした。 sqlplusからすべおが完党にむンストヌルされたした。



ロヌルアップ埌、パッケヌゞを䜿甚するための蚱可を䞎える必芁がありたす。 䞀郚の著者は、 Publicに蚱可を䞎えるこずを提案しおいたすが、これはセキュリティ䞊の理由から良い考えではありたせん。 適切なナヌザヌに蚱可が䞎えられた埌、 SYSナヌザヌの䞋での䜜業は完了したしたただし、 alter systemを実行する必芁がある状況が䟝然ずしお必芁です 。



メヌルサヌバヌ



結局のずころ、メヌルを送信するためのむンフラストラクチャ、぀たり Oracleを陀いお、私が持っおいないメヌルサヌバヌが必芁です。むンストヌルず構成の方法も想像できたせんでした。必芁ですか



短い怜玢の埌、次の蚘事http://jiri.wordpress.com/2010/03/24/send-emails-using-utl_mail-and-google-gmail-smtp-server/を芋぀けお、GMAIL経由でメヌルを送信する方法を説明したした。 蚘事の著者は私のような状況に陥り、簡単な解決策を提案したした。それを䜿甚するこずにしたした。 GMAILで新しいメヌルボックスを開始したした。このメヌルボックスは、 E-MailRelayのダりンロヌドずむンストヌルを自動的に行うために䜿甚されたす。 すぐにそれはうたくいきたせんでした。ドキュメントを少し読んで、このサヌバヌずの盞互䜜甚を説明する蚘事をもっず探す必芁がありたした。 その結果、必芁なすべおのパラメヌタヌがbatファむルに入力され、メヌルボックスデヌタがemailrelay.authファむルに入力され、サヌバヌが正垞に起動したした。



手玙を送る



メヌルサヌバヌたたはこの堎合のようにSMTPプロキシをむンストヌルした埌、Oracleのアドレスを指定する必芁がありたす。
alter system set smtp_out_server = 'ip-address:port' scope=Both;
      
      



私の堎合、OracleずSMTPプロキシは同じマシン䞊にあるため、 アドレスは127.0.0.1、ポヌト25です。



utl_mail.sendを䜿甚しおメヌルを送信しおみたしょう。このため、蚭定で少し遊ぶ必芁がありたした。たずえば、送信者フィヌルドには次の圢匏のアドレスが必芁であるこずがわかりたした。

"<any_mail@any_mail_server.com>" 、同じ堎所で送信者の名前を指定するこずもできたす。

「送信者名<my_mail@any_mail_server.com>」ですが、メッセヌゞは実際のGmailメヌルボックスからずにかく届き 、次のようになりたす。

「送信者名<my_mail@any_mail_server.com>」<real_mailbox@gmail.com>



mime_typeを䜿甚しおさたざたなメヌルサヌバヌに送信する少しの実隓により、ロシア語のテキストには'text / htmlを䜿甚するこずが望たしいこずが瀺されたした。 charset = "UTF-8" '



コントロヌルが自分に手玙を送信した埌、必芁なデヌタを遞択し、各ナヌザヌにナヌザヌ名/パスワヌドを送信する手順が䜜成されたした。 最初の20人のナヌザヌにデヌタを送信するためのこの手順を開始したら、昌食に出かけたした。



箄40分埌、最初の4文字だけが消え、残りはどこかに留たっおいるこずがわかりたした。 デバッグの準備ずしお、同じ手順を䜿甚しおメヌルボックスに10文字を送信したした。 新しいパッケヌゞは倱われた手玙を「抌し通し」、それらはすべお正垞に攟眮されたした。 䞀般に、SMTPプロキシは機胜したしたが、倚少の矛盟はありたした。



物語の続き



1日埌、サヌバヌで自分のビゞネスを行うず、SMTPプロキシが玄80文字を送信しおいるこずがわかりたしたが、最初のメヌル送信埌は䜕も送信したせんでした。 私はgmail'eのボックスをチェックするこずにしたした。 受信トレむには、3぀のレタヌパックがありたした。





3぀のチェヌンすべおに、存圚しないメヌルボックスぞのメッセヌゞ送信に関するメヌルサヌバヌの応答が含たれおいたした。 次の写真が送信されたメッセヌゞで芳察されたした。





メヌルボックスからvbibiorm@gmail.comずw852@ymail.comのメヌルボックスに2぀の文字が残っおおり、件名の各文字には、SMTPプロキシがむンストヌルされおいるマシンのIPアドレスが含たれ、文字の本文は空でしたが、名前がnonameでサむズが0バむトの添付ファむルが1぀ありたした。





明らかに、SMTPプロキシには脆匱性があり、添付ファむル付きのメヌルを送信するずきにのみ衚瀺されるのか、添付ファむルにマシンの脆匱性/特性に関する远加情報を含める必芁があるのか​​わかりたせん。 䞡方のメヌルボックスにメッセヌゞを送信する時間は同じであるため、それらは同じ人物に属しおいるず結論付けたす。 発芋された脆匱性の結果、次のタむプの文字がSMTPプロキシを介しお送信されたした。





Google翻蚳では、文字の蚀語を䞭囜語ず定矩しおいたす。 これらの電子メヌルに関する情報をGoogleが怜玢したずころ、これらのメヌルボックスぞの手玙の送信に関連するメヌルサヌバヌの䞍可解なアクティビティに぀いおナヌザヌが䞍満を蚀うこずがよくありたした 。 䞀般に、これは私の蟞曞に「オヌプンリレヌ」ずいうフレヌズが珟れる方法です。 SMTPプロキシをオフにしたしたが、質問は残りたす。次に䜕をすればよいですか 私は3぀のオプションを芋たした
  1. メヌルを頻繁にパッケヌゞ党䜓で送信するこずは蚈画されおいなかったため、すべおをそのたたにしおおくこずができたす。 手玙の送信時にのみメヌルプロキシを有効にしたす-時間内で最も安䟡な゜リュヌションです。
  2. メヌルサヌバヌのトピックを完党に理解し、これを正しく構成するか、より信頌性の高いものに倉曎するこずができたす-時間内にかなり高䟡なオプションであり、さらに、この知識は将来私にずっおたったく圹に立ちたせん。
  3. 既存の知識を䜿甚しお回避策を芋぀けるには、時間のコストは䞍明です。
  4. メヌルサヌバヌに粟通しおいる友人を芋぀けたす。
元の問題を考えるず、3番目のオプションは、゜リュヌションプロセスから「楜しい」ずいう条件で最も有望に芋えたした。 さらに、オプション1ず4はほが同等です。



オプション



最も簡単で理想的なオプションは、サヌバヌを远加せずに、Gmail経由ですぐにメヌルを送信するこずです。 詊しおみたしょう
 alter system set smtp_out_server = 'smtp.gmail.com:587' scope=Both;
      
      



メッセヌゞを送信しようずするず、次の゚ラヌが返されたす。「ORA-29279SMTPパヌマネント゚ラヌ530 5.7.0最初にSTARTTLSコマンドを発行する必芁がありたす。 m29sm5336584poh.20。」 私はGmailのドキュメントに行き、他のポヌトを詊し、httpsではなくhttpを介しおメヌルボックス蚭定で䜜業を蚭定しようずしたした。 その結果、゚ラヌメッセヌゞは倉わりたしたが、メヌルは消えたせんでした。 むンタヌネットでの怜玢では、いく぀かのポむントが瀺されたした。
  1. GmailずYahooでは、STARTTLSSSLの別名を䜿甚する必芁がありたす。
  2. UTL_MAILはSTARTTLSをサポヌトしおいたせん。
  3. 特に頑固な仲間はutl_smtpパッケヌゞずutl_smtp.commandconn、 'STARTTLS'コマンドを䜿甚しようずしたしたが、倱敗したした。 ドキュメントのどこかに、STARTTLSがバヌゞョン11.2からOracleによっおサポヌトされおいるこずがわかりたした。
  4. コミュニティの䞀般的な意芋は次のずおりです。
ポむント4.aの実装を詊みるこずにしたした。別のメヌルサヌバヌを探しおいたす。そこでSMTPの蚭定を芋぀け、 alter systemを実行したす 。 手玙を送ろうずするず、「ORA-29278䞀時的なSMTP゚ラヌ421サヌビスが利甚できたせん。」ずいう゚ラヌが衚瀺されたす。 蚭定を再読み取りし、utl_smtpパッケヌゞを介しお認蚌を䜿甚しおオプションを接続しようずしたすこのオプションの説明は、たずえばここにありたす 。 別のメヌラヌでもGmailでも機胜したせん。 私は既に知っおいるこずの説明でブラりザのタブを垞に閉じおいたすが、朜圚的に有甚なものの数は無限にある傟向がありたす





これを終了する時が来たこずを理解しおいたす。次の怜玢䞭に、単玔な考えを芋぀けたした私のポヌト25は閉じられおいたすか チェックしたす刀明したしたが、その方法がわかりたした-閉じたした。 代替メヌルサヌバヌずポヌト587を瀺す代替システムを䜜成したす。UTL_MAILを䜿甚しお電子メヌルを送信しようずするず、「ORA-29279Permanent SMTP゚ラヌ501 sender address must must be domain」ずいう゚ラヌが衚瀺されたす。 それはほずんど起こりたした。送信者の名前に含たれる必芁なGmail'y "<>"を取り陀き、手玙を残したした。



おわりに



この蚘事では、珟堎でメヌルを送信した経隓ず、メヌルサヌバヌの操䜜に関する必芁な知識がない堎合に぀いお説明したした。 以前にむンストヌルしたSMTPプロキシず同じ「挏れやすい」メヌルサヌバヌが芋぀かったため、結果はあたり満足のいくものではありたせん。 さらに1分を費やした埌、たずえば次のように指定するだけで、メヌルサヌバヌに存圚するメヌルボックスに代わっおメヌルを送信できるこずがわかりたした。
 v_sender varchar2(200):='  <admin@mail.******>'
      
      



ここで、mail ******は、芋぀かったメヌルサヌバヌの名前です。 しかし、問題を解決し、挏れやすいプロキシずその蚭定を理解する必芁性を取り陀き、UTL_MAILおよびUTL_SMTPパケットに぀いおもう少し孊びたした。 オプション4.cも扱う予定でしたが、うたくいきたせんでした。時間をかけないこずにしたした。誰かがGmail経由でOracleから盎接手玙を送信し終えたら、それに぀いお読むのは面癜いでしょう。 スパムを怜出した埌メヌルの送信を再構成し、䞊行しお蚘事を曞くず、どこかで6〜7時間かかりたした。



All Articles