自分自身からメールが届いた。乗っ取られている?

複数の人から「自分自身からメールが届いた、乗っ取られてしまっているのだろうか?」という話をもらいましたので、「そうではないですよ」ということを動画で実際に実演もしながら解説してみました。 今回のネタは動画のほうが伝わりやすいかな?と思って動画にしてみましたが、文章のほうがサクッとすばやくポイントできますので、要点は以下に。 認証なしでメールを送信することができる(※認証が必要なケースもありますが歴史的にみても認証なしのほうが大部分です。)- 「送信者」の設定は単に文字列で指定するだけでありいくらでも自由に設定できる。- 心配だったらメールヘッダで送信元を確認できる 実際のやり方は動画を参照してみてください。 最近ちょっと時間的な余裕ができたことやYoutubeでのライブ配信のやり方を覚えたこともあり、リアルタイムに質問を受けながらそれに回答するようなこともできると嬉しいなと考えています。「それだったらこういうテーマの話をしてほしい」などあれば、コメント、Twitter等でリクエストもらえると嬉しいです。

January 28, 2019 · 1 min · 胡田昌彦

2017/01/20  今週のトピックス

寒い週末になりました。さて、今週のトピックスです。 - arm and api for creation and managing OMS – Customer Feedback for Microsoft Azure 1 user We would like to add new OMS Workspaces using arm templates or powershell api. That way we could fully automate the creation of OMS f… [feedback.azure.com ](http://b.hatena.ne.jp/ebibibi/?url=http%3A%2F%2Ffeedback.azure.com%2F) - テクノロジー - あとで読む - [![ebibibi](https://ebiwordpress.azureedge.net/windowsadmin/profile_l.gif)](http://b.hatena.ne.jp/ebibibi/)ebibibi w, b, oms, arm, powershell ![Twitterでのツイートを閲覧](http://cdn-ak.b.st-hatena.com/images/icon-twitter.png)28 clicks 2017/01/20 - OMS Security malware assessment adds support for more antimalware vendors – Operations Management Suite Blog 1 user FAST FACT : OMS Security is adding support for Symantec Endpoint Protection and Trend Micro Deep Security to its Antimalware assessme… ...

January 20, 2017 · 4 min · 胡田昌彦

DOS, コマンドプロンプト, バッチファイルからメールを送りたいあなたへ

このブログへのGoogleから結構な数の人が「メール dos」とか「バッチ メール」とか「コマンドプロンプト smtp」とかのキーワードで以下のページにアクセスしています。 - [コマンドプロンプトだけでメールを送信する | WindowsServer管理者への道](https://windowsadmin.ebisuda.net/2009/03/26/%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%83%97%e3%83%ad%e3%83%b3%e3%83%97%e3%83%88%e3%81%a0%e3%81%91%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%92%e9%80%81%e4%bf%a1%e3%81%99%e3%82%8b/) 「コマンドプロンプト smtp」の人はまだしも、その他のキーワードの人は上記のページを見てもがっかりして帰るだけだろうと思うので、今回は「コマンドプロンプト、バッチからメールを送る方法」を紹介しようと思います。telnetで…というのはちょっと目的と違うと思うので。 外部プログラムを使う方法 方法はいくつかありますが、まずは外部プログラムを使う方法があります。が、私はほぼ使ったことがないので検索して見つかったものの紹介に留めておきます。プログラムなわけですからどうにでもなるわけですし、コマンドプロンプトやバッチからメールを送信したいということはおそらく自動化したいのだと思いますので、引数に宛先や本文を渡せるよなものが良さそうに思います。本文は外部のテキストファイルなどでも良いですけどね。 - [ダウンロード・SMAIL](http://dip.picolix.jp/disp2.html) - [メール送信コマンド (WinMailCmd)の詳細情報 : Vector ソフトを探す!](http://www.vector.co.jp/soft/win95/net/se284502.html) - [メール送信プログラムの詳細情報 : Vector ソフトを探す!](http://www.vector.co.jp/soft/win95/net/se355659.html) - [コマンドメーラー(CmdMail)の詳細情報 : Vector ソフトを探す!](http://www.vector.co.jp/soft/win95/net/se173123.html) - [SMAILの詳細情報 : Vector ソフトを探す!](http://www.vector.co.jp/soft/win95/net/se269471.html) 探せばほかにも沢山あると思いますが、SMAILというソフトが各種認証、暗号化、添付ファイル等に対応している上に、キャラクタセット、トランスファーエンコーディング指定も可能なようなのでよさそうな気がします。 これらを使えば問題解決!なのですが、一度インストールするなり、exeファイルを配置しておくなりの対応が必要なのでそういったことができない環境では厳しいですね。 CDO.Messageを使う方法 というわけで、何も入れなくてもWindowsの標準機能で簡単にメールを送信したい!という場合には私はいつもCDO.Messageを使っています。DOS, コマンドプロンプト、バッチファイル…と書いておきながらすいません。VBScript, JScriptを使うことになります。でもまぁ、「cscript xxxx.vbs」なんて感じで記述するだけですので問題ありません。Windows 2000以降なら動くはずなので、現存するたいていの環境でまず間違いなく動くと思います。 - [@IT:Windows TIPS -- Tips:Windows標準機能とWSHを使ってメールを送信する](http://www.atmarkit.co.jp/fwin2k/win2ktips/428wshmail/wshmail.html) 手元にVBScript版とJScript版のサンプルもあったので貼り付けておきます。 VBScript版 D S o o o o o o o o o i e M M M M M M M M M m t s s s s s s s s s g g g g g g g g g o o . . . . . . . . . M M C C C C F T S T S s s o o o o r o u e e g g n n n n o b x n f f f f m j t d i i i i e B = g g g g c o u u u u t d C r r r r y r a a a a e t t t t = = = = a i i i i t o o o o " " " " e n n n n f t タ メ O . . . . r o イ ー b F F F F o @ ト ル j i i i i m h ル の e e e e e @ u " 本 c l l l l h g 文 t d d d d o a " ( s s s s g . " . . . . e j C I I I U . p D t t t p j " O e e e d p . m m m a " M ( ( ( t e " " " e s h h h s t t t a t t t g p p p e : : : " / ) / s s s c c c h h h e e e m m m a a a s s s . . . m m m i i i c c c r r r o o o s s s o o o f f f t t t . . . c c c o o o m m m / / / c c c d d d o / c c c o o o n n n f f f i i i g g g u u u r r r a a a t t t i i i o o o n n n / / / s s s e m m n t t d p p u s s s e e i r r n v v g e e " r r ) " p ) o = r = t 2 " " ) m a = i l 2 . 5 h o g e . j p " J S c r i p t 版 v o o o o o o o o o a M M M M M M M M M r s s s s s s s s s g g g g g g g g g o . . . . . . . . . M C C C C F T S T S s o o o o r o u e e g n n n n o b x n f f f f m j t d = i i i i e B ( g g g g c o ) W u u u u t d ; S r r r r y c a a a a r t t t t = = = = i i i i i p o o o o " " " " t n n n n f t タ メ . . . . . r o イ ー C F F F F o @ ト ル r i i i i m h ル の e e e e e @ u " 本 a l l l l h g ; 文 t d d d d o a " e s s s s g . ; O . . . . e j b I I I U . p j t t t p j " e e e e d p ; c m m m a " t ( ( ( t ; ( " " " e " h h h ( C t t t ) D t t t ; O p p p . : : : M / e / s s s s s c c c a h h h g e e e e m m m " a a a ) s s s ; . . . m m m i i i c c c r r r o o o s s s o o o f f f t t t . . . c c c o o o m m m / / / c c c d d d o / c c c o o o n n n f f f i i i g g g u u u r r r a a a t t t i i i o o o n n n / / / s s s e m m n t t d p p u s s s e e i r r n v v g e e " r r ) " p ) o = r = t 2 " ; " ) m a = i l 2 . 5 h ; o g e . j p " ;

June 25, 2013 · 5 min · 胡田昌彦

Exchange Server 2010でADに存在しないユーザーに対してのメール送信をSMTPセッション中に拒否するように構成する方法

Exchange Serverでは過去のバージョンから最新のバージョンまで一貫して「存在しないユーザー宛てのメールでも一度受け入れる。その後、ユーザーが存在しなければNDRを生成し送信する」という動きになっています。ユーザーが存在しなければSMTPセッション中に「User Unknown」というような応答を返し、そもそもメールを受け入れない場合に比べるとExchange Serverのリソースを多く消費することになります。 もちろんこの挙動にも、どのアドレスでも受け入れることによって「存在するアドレスをspam業者に収集されない」という良い面がありますので、一概に悪いわけではありません。ただ、このあたりに関してもExchange Server 2010にはtarpit機能があり、連続してSMTP送信を行ってくるホストに対しては遅延させることができますし、セッション中に拒否したい…というシチュエーションも少なからずあるものと思います。 これをHUB上でどのようにできるのか、ということを調べてみました。以下手順です。 AntiSpam機能のインストール c d % s y s t e m d r i v e % / P r o g r a m F i l e s \ M i c r o s o f t \ E x c h a n g e S e r v e r \ V 1 4 \ S c r i p t s / i n s t a l l - A n t i s p a m A g e n t s . p s 1 R e s t a r t - S e r v i c e M S E x c h a n g e T r a n s p o r t ※必要な全サーバーで実行する ...

December 9, 2012 · 3 min · 胡田昌彦

Exchange Server 2010でADに存在しないユーザーに対してのメール送信をSMTPセッション中に拒否するように構成する方法

Exchange Server 関連の記事はExchange Server Blogにまとめて書くことにしました。よろしければあわせて御覧ください。 Exchange Serverでは過去のバージョンから最新のバージョンまで一貫して「存在しないユーザー宛てのメールでも一度受け入れる。その後、ユーザーが存在しなければNDRを生成し送信する」という動きになっています。ユーザーが存在しなければSMTPセッション中に「User Unknown」というような応答を返し、そもそもメールを受け入れない場合に比べるとExchange Serverのリソースを多く消費することになります。 もちろんこの挙動にも、どのアドレスでも受け入れることによって「存在するアドレスをspam業者に収集されない」という良い面がありますので、一概に悪いわけではありません。ただ、このあたりに関してもExchange Server 2010にはtarpit機能があり、連続してSMTP送信を行ってくるホストに対しては遅延させることができますし、セッション中に拒否したい…というシチュエーションも少なからずあるものと思います。 これをHUB上でどのようにできるのか、ということを調べてみました。以下手順です。 AntiSpam機能のインストール c d % s y s t e m d r i v e % / P r o g r a m F i l e s \ M i c r o s o f t \ E x c h a n g e S e r v e r \ V 1 4 \ S c r i p t s / i n s t a l l - A n t i s p a m A g e n t s . p s 1 R e s t a r t - S e r v i c e M S E x c h a n g e T r a n s p o r t ※必要な全サーバーで実行する ...

September 27, 2012 · 3 min · 胡田昌彦

telnetで日本語メールを送信する

telnetでメールを送信する方法について以前紹介しました。 - [コマンドプロンプトだけでメールを送信する | WindowsServer管理者への道](https://windowsadmin.ebisuda.net/2009/03/26/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88%E3%81%A0%E3%81%91%E3%81%A7%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%92%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B/) 今回はtelnetから日本語でメールを送信する方法を紹介してみようと思います。もちろん実用性はほぼ無いのですが、メールの仕組みを理解するためには結構良い練習になると思います。是非この記事を見ながら、自分のアドレスにメールを送信してみてください。 (※注意※ 昨今はSPAM対策でプロバイダによってはそもそもSMTPでの接続を許可していないところが多いです。初めのメールサーバーへの接続の段階でうまく接続できなかったら残念ですが、別途勉強のためにSMTPサーバーを立ててそこに対してメールを送信してみるなどしてみてください。) とりあえず日本語で入力してみる まずはtelnetでメールサーバーに接続します。(ここでは私の自宅のメールサーバーに接続しています。) 前回紹介した方法で、メールの送信元、送信先を入力します。 まず、ヘッダ部分を入力します。メールヘッダとメールボディの間には空行が1行必要です。 さて、ここで日本語を入力してみましょう。Alt + 全角半角キーを押して、えいやと。「日本語のテストメールです。」と入力してみます。 おや?なんだか、入力しているそばから文字が化けていきますね…。 とりあえず送信を完了します。送信の最後は「.」です。「改行.改行」ですね。 さて、とりあえずメールは送ってみました。どうなったでしょうか?着信したメールをgmailで確認してみます。 おお!文字化けせずにきちんと日本語が見えますね。本当は記事を書く前にはここでは文字化けすることを想定していたのですが、Windows7からgmailへの送信では化けませんでした。gmailは優秀ですね! gmailでは化けませんでしたが、結構な数のメールシステムではこの送信方法では文字化けが発生すると思います。自分のシステムで試してみてください。 到着したメールのチェック せっかく文字化けせず送信できましたので、中身をもうちょっと見てみましょう。gmailではメッセージのソースを見ることができます。ソースを見てみましょう。 ソースの状態でもきちんと日本語が見えてますね。それではこの状態でエンコードを確認してみます。 ちょっと見づらいですが、Shift-JISになっていることがわかると思います。これで確認できましたが、先ほどは日本語をShift-JISで送信したのでした。そして、メール本文をShift-JISで記述してそのまま送信するのはRFC違反であり、文字化けする可能性が結構高くなってしまいます。 日本語をメールで送信する際には文字コードにJIS(ISO-2022-JP)を使用するのがお約束になっており、これであればまず文字化けしません。なので、telnetから日本語メールを送信する場合もJISで送信すべきです。(このあたりの細かい話はまた別エントリで…) telnetのcodesetを設定する さて、それでは今度はきちんとtelnetの設定をおこなって、RFC的に正しいメールを送信してみましょう。 まず、telnetを起動します。引数無しでtelnetだけですね。 まず、現在の設定を確認してみます。displayコマンドを入力します。 codeset = 漢字コードセット は設定されていない状態になっています。helpを表示するとset codesetコマンドで漢字コードセットの設定ができることがわかりますので、JIS Kanjiに設定しましょう。 この漢字コードセットの設定は保存されますので、一度telnetを終了しても再度設定する必要はありません。さて、それではこの状態でもう一度メールを送ってみましょう。openコマンドで接続を開始できます。 今度は telnet上でも日本語がきちんと見えるようになりましたね。(※ただ、終端の改行.改行が意図したとおりになりませんでした。これは私も原因がよくわからない…というか.になってないからなのは確実なのですが、ちょっと変な挙動のように思います。telnetのバグ?) とりあえずgmail側で確認してみましょう。 今度もきちんと日本語が表示されました。ソース、文字コードも確認しましょう。 ソース上では日本語がそのままは読めません。エンコードはShift-JISになっています。これを「日本語(ISO-2022-JP)」に変更します。 きちんと日本語が読めるようになりました。これできちんとJISで送信できていたことが確認できました。この形式であればほぼ間違いなく、すべての日本語メール環境でメールが読めるはずです。 細かいところはひとまずおいておきましょう。メールでは日本語はJIS(ISO-2022-JP)で送るという事をまずは抑えておいてもらえればと思います。

January 4, 2012 · 1 min · 胡田昌彦

コマンドプロンプトだけでメールを送信する

メール送信の仕組みを知りたい方はこの記事をどうぞ。コマンドプロンプト、バッチファイル等から自動的にメールを送信したい方はこちらをどうぞ。 今回は電子メールのお話です。メールはインターネット経由で世界中と送受信できるすばらしい仕組みなのですが、基本的な仕組みはかなりシンプルになっています。それを実感するために、メールクライアントを使用せずに、コマンドプロンプトだけでメールを送信してみましょう。仕組みを体感できますし、トラブルシュートの際にも有効に使えますよ。 ここでは、例として私のgmailのアドレスであるebibibi@gmail.comにメールを送ってみようと思います。(自分のメールアドレスで実験してみてください) メールサーバーを探す まずはじめにメールサーバーを探します。メールをどこに送ればとどくか、ということですね。これはDNSにMXレコードとして記述されています。 「set type=mx」として、MXレコードを指定した上で「gmail.com」というドメインのMXレコードを検索します。 コマンドの実行結果から以下の5台のメールサーバーが存在していることがわかりました。 - gmail-smtp-in.l.google.com - alt1.gmail-smtp-in.l.google.com - alt2.gmail-smtp-in.l.google.com - alt3.gmail-smtp-in.l.google.com - alt4.gmail-smtp-in.l.google.com どのサーバーに送信してもメールは届くはずですが、MX preferenceの値が低いものほど優先的に送信するという決まりになっていますので、ここではMX preferenceがいちばん低い5になっている「gmail-smtp-in.l.google.com」にメールを送ることにします。 メールサーバーへの接続 メールサーバーにメールを送信するにはまずTCPのコネクションを張らなくてはいけません。ポートはSMTPプロトコルの25番ポートです。 telnetコマンドで25番ポートに接続します。 SMTPでのメール送信 接続できたらSMTPプロトコルでメールを送信します。SMTPプロトコルは人間が手でメールを送れるくらいシンプルなものです。 以下の例はRFC的に正しくない部分も含まれていますが、メールの送信自体はできます。まずはまねをして体感してみてください。 以下のようにきちんとgmailに届きました。 SMTPプロトコルの詳細はRFCで定義されていますので、興味がある人は見てみるとよいでしょう。 - http://www.ietf.org/rfc/rfc2821.txt かんたんな説明 やり取りの中身をもう少し詳しく見てみます。 まず接続すると相手のSMTPサーバーのバナーが表示されます。 2 2 0 m x . g o o g l e . c o m E S M T P 5 s i 1 0 3 9 1 9 7 8 y w l . 2 8 次にこちらから相手のサーバーに挨拶をします。 ...

March 26, 2009 · 2 min · 胡田昌彦

2008-03-11

新たな問題 以前、YahooBBのOP25に引っかかって、postfixでSMTP_AUTHを構成し、YahooBBのサブミッションポートにメールをリレーする設定を行いました。 ebi’s diary - YahooBBのOP25Bにやられる とりあえずこれで問題なく使っていたのですが、gmailで受信しているメールにいくつか「Undelivered Mail Returned to Sender 」が混じっていることに気がつきました。どうやらこれは以前使っていたebi@ebi.dyndns.bizというメールに関して問題が発生していたようです。 以前のメールフロー 外部→ebi@ebi.dyndns.biz→(転送)→ebibibi@gmail.com エラーになってしまうメールフロー 外部→ebi@ebi.dyndns.biz→(転送)→YahooBBのリレーサーバー(ここで差出人が登録されていない、ということでリレー拒否されてしまう) エラーメッセージは以下のような感じです。 T h i s i s t h e m a i l s y s t e m a t h o s t e b i . d y n d n s . b i z . エラーメッセージが結果的に届いているところが面白いところではあります。サブミッションポートの制限はNDRには適用されない模様です。これはNDRにたいしてさらにNDRを生成して、NDRがループしてしまうことを防ぐための仕様だと思われます。(と、いうことはこれを使って色々と悪いことができる気もしますが…) 対応策 どう対処しようか結構迷いました。そもそももう使っていないアドレスなので無視したり、移動した旨を伝える程度でも良かったのですが、自分が把握していない場所に以前のメールアドレスが残ってしまっていて、それがいつまでたっても解消できなくなってしまったり、万が一重要なメールが来ていたときに気がつけないのは困ります。 単純にリレーを設定してもOP25の制限ではじかれてしまいます。 悩んだ結果、結局以下のフローにしました。 外部→ebi@ebi.dyndns.biz→あて先をYahooBBの自分のアドレスに書き換え→YahooBBのメールサーバー(25番)にリレー→YahooBBのメールボックスに着信→GmailのPOP3設定にてGmailに取り込み なんだかまどろっこしいですが、一応これでうまく動いたようです。難点を挙げるとすればGmailでのPOP3のダウンロードは結構間隔が長いので、メールをすぐに確認できないところでしょうか。でも私の使い方の場合には問題いので良しとします。 ...

March 11, 2008 · 2 min · 胡田昌彦

AI・テクノロジーの情報を発信しています

YouTube

AI・テクノロジーの最新トレンドを動画で配信中

note

技術コラム・深掘り記事を公開中