この記事で扱っていること
- Labviewでgmailを送信する方法
を紹介しています。
注意:すべてのエラーを確認しているわけではないので、記事の内容を実装する際には自己責任でお願いします。また、エラー配線は適当な部分があるので適宜修正してください。
LabVIEWを使用することで何か処理を自動化させることができるのはとても便利です。
人間がつきっきりで見ていなくてもプログラムが勝手にやってくれるようにできるのがプログラミングの醍醐味です。
一方で、処理が終わった後にそれをどう知らせるかについて考えてみたことはあるでしょうか?
例えば、何か測定を行ったりしてそれをファイル出力していたとします。これを何か簡単な文面とともに誰かに報告する、こういった操作も自動化できればさらに便利になると思います。
LabVIEWではそのための仕組みとしてメール送信に対応する関数が用意されているので、それらを駆使してより便利な自動化を目指せます。
他のメールサービスも利用できるのかもしれませんが、この記事ではGoogleでアカウントを作った場合のgmailの使用を想定しています。
どんな結果になるか
ここでは、適当に測定データをcsvにしたファイルを添付し、件名や本文はテンプレートとして時刻の情報やファイル名の情報を表示させています。

プログラムを実行すると、適当なcsvが生成されてそれを指定したgmailアドレスにファイルを添付した状態で送信することができます。
今回の例では、件名はファイルの名前、本文には「何年何月何日何時何分何秒の記録」と書いていて、実際にそのcsvファイルが添付されて送信されている形としています。

プログラムの構造
データファイルを生成する部分についてはもちろん個々のプログラムによりますが、今回のサンプルでは単に10行3列の乱数データを用意し、これをcsvに保存しました。
ファイルを閉じる関数のパス出力は、後でメール添付するファイルを指定するのに使用できます。
メール送信部分は、データ通信>>プロトコルの関数パレットにある関数を使用しています。

今回は件名をファイル名としました。また本文には何時何分に終了した測定のデータを添付しています、と表示できるように文字列にフォーマット化関数でテンプレ化しています。実際はもちろんどんな値としてもかまいません。
なお、Gmailの場合、ハンドルを開く関数のサーバアドレスは固定で、「smtp.gmail.com:587」となります(587の前にコロン(:)を忘れないようにします)。

Gmailが届かない?
上記のプログラムを使って、実際にテストしてみると、中には「あれ、gmail届かないぞ」という場合もあると思います。その場合には、エラー(例えば363540など)が出ると思います。
そんな場合には、送信元アドレスのアカウントでGmailにセキュリティの重大な警告というメッセージが出ているか確認してみます。

私が試したところ、これはgmailの設定でセキュリティの設定を変更する必要があり、以下の図の要領でセキュリティに関する項目の設定を有効にすることでエラーが消えて無事送れるようになりました。
これを有効にすることでメールが届くようになると思います。


LabVIEWでどこまでの範囲を自動化するか、これは人それぞれだと思いますが、ここで紹介した以外にも、例えば何かプログラムでエラーが出たときにそれをメールで知らせるような場合にも今回の記事の内容が応用できると思います。
できるところまで自動化したいという要望を持った方に本記事が参考になればうれしいです。
ここまで読んでいただきありがとうございました。
コメント