【2026年版】Power Automate DesktopでOutlookメールを自動送信する方法とは?もっとラクな代替ワザも紹介

当ページのリンクにはプロモーションが含まれています。

毎日のように送る「定例の報告メール」や「同じ宛先・同じ文面のお知らせ」。手で打つと1通5分でも、月20通なら年間20時間が消えています。これを無料のPower Automate Desktop(PAD)で自動化すれば、ボタン1つで送信が終わります。

とはいえ「RPAはちょっと大げさ…」という方もいるはず。そこでこの記事では、PADでの自動送信手順に加えて、Outlook標準機能だけでもっとラクに送る代替ワザもセットで紹介します。

この記事で分かることはこの3つです。

  • Power Automate DesktopでOutlookメールを自動送信する具体的な手順
  • Excelの宛先リストから一斉送信する応用ワザ
  • RPAを使わず標準機能で「もっとラクに送る」3つの代替手段と使い分け
  • コードが書ける人向けに、Pythonでメール送信を自動化する方法

私は製造業の総務課でシステム推進も兼ねていて、勤怠連絡や安全衛生の通知メールをPADで自動化しています。実際に弊社の業務で使ってみて「ここでつまずいた」「ここはこっちの方がラクだった」という現場目線で解説します。

はかせ

RPAって聞くと身構えますよね。でも「メール送信だけ」なら、覚えるアクションは2つだけ。30分あれば最初の1本が作れます。

目次

Power Automate Desktopでメール送信を自動化するとどう変わるか

Power Automate Desktopは、Microsoftが無料で配布しているRPAツールです。Windows 10/11なら標準で使えて、追加費用はかかりません。マウス操作やキー入力、アプリの起動などを「フロー」として組んでおき、ボタン1つで自動再生できます。

メール送信の自動化でできることは、ざっくり次のとおりです。

  • 宛先・件名・本文が決まった定型メールをワンクリックで送信
  • Excelの一覧を読み込んで複数の宛先へ自動で連続送信
  • 本文に今日の日付や曜日を自動で差し込む
  • 指定したファイルを自動で添付
よっちん

PADの強みは「Outlook以外の操作とも組み合わせられる」点じゃ。たとえば『フォルダから最新のExcelを開く→集計する→メールに添付して送る』まで一気通貫で自動化できる。

弊社では、毎朝の生産実績メールをPADで自動化しました。以前は担当者がExcelを開いて数字を確認し、手で本文を打って送っていたのですが、今はPCを立ち上げてフローを実行するだけ。1日約10分の作業が30秒になりました。

自動送信を始める前の準備

手順に入る前に、必要なものを確認しておきます。ここがそろっていないと途中で止まるので、先にチェックしておくとスムーズです。

事前に用意するもの
  • Windows 10/11のPC(PADは標準搭載。なければMicrosoft公式から無料インストール)
  • デスクトップ版Outlook(ブラウザ版=新しいOutlookではなく、アプリ版が必要)
  • Outlookにメールアカウントの設定が済んでいること

「Outlookを起動します」アクションが対応するのはデスクトップ版(クラシックOutlook)です。Windows標準の「新しいOutlook」やブラウザ版では動かないので、ここだけは要注意です。

会社で使っているメールアドレスをOutlookに紐づける設定がまだの方は、こちらの記事が参考になります。

Power Automate DesktopでOutlookメールを自動送信する手順

ここからが本番です。覚えるアクションは「Outlookを起動します」「Outlookメールメッセージを送信」のたった2つ。スクショを撮りながら進めると迷いません。

STEP
新しいフローを作成する

Power Automate Desktopを起動し、「新しいフロー」をクリック。あとで見て分かるように、フロー名は「毎朝の報告メール送信」のように具体的に付けておきます。

フロー名:「毎朝の報告メール送信」
STEP
「Outlookを起動します」を追加する

左側のアクション検索バーに「Outlook」と入力。表示された「Outlookを起動します」を、右側のフロー作成エリアにドラッグ&ドロップします。設定はそのまま「保存」でOKです。

[画像挿入:「Outlookを起動します」アクションをドラッグしている画面]

STEP
「Outlookメールメッセージを送信」を追加する

続けて「Outlookメールメッセージを送信」を、さきほどのアクションの下にドラッグ&ドロップします。これが送信本体のアクションです。

[画像挿入:「Outlookメールメッセージを送信」アクションの追加画面]

STEP
メールの中身を設定する

アクションを開き、「アカウント」「宛先」「件名」「本文」を入力します。CC・BCCや添付ファイルもここで指定できます。HTMLで装飾した本文を送りたいときは「本文はHTMLです」にチェックを入れます。

項目設定例
Outlook インスタンス
アカウントoutlookのデータファイル名を入力※1
メールメッセージの送信元「アカウント」のままでOK
宛先(To)送りたい相手のメールアドレス
CC
BCC
件名(Subject)「【毎朝報告】〇〇進捗状況について」など
本文(Body)本文を入力(定型文でOK)
本文はHTMLですチェックを入れておくことを推奨
下書きとして保存チェック無し:そのまま送信
チェック有り:下書きに保存
添付ファイル必要に応じてファイルを追加
STEP
保存して実行する

右上の「保存」を押したら、いよいよ「実行」ボタンをクリック。Outlookが立ち上がり、設定どおりのメールが自動で送信されます。

いきなり本番の宛先に送るのが不安なら、まずは自分宛てに送ってテストしましょう。中身を確認してから本番の宛先に書き換えれば、誤送信を防げます。

PADはこのほかにも「特定フォルダを自動で開く」など、地味だけど効く時短ワザがたくさんあります。1アクションでできる小ワザはこちらにまとめました。

【応用】Excelの宛先リストから一斉送信する

「取引先50社に、同じ案内を宛名だけ変えて送りたい」。こんなときこそPADの本領発揮です。Excelに宛先リストを用意して、1行ずつ読み込みながら自動送信する流れを組みます。

  • Excelを起動して宛先リスト(会社名・メールアドレスなど)を開く
  • 「Excelワークシートから読み取り」で一覧をまとめて取得する
  • 「For each」で1行ずつループさせる
  • ループの中に「Outlookメールメッセージを送信」を置き、宛先や本文にExcelの値(変数)を差し込む

本文の「○○様」の部分を変数にしておけば、宛名だけ自動で差し替わります。日付を自動で入れたいときは、変数に「現在の日時」を取得して本文に挿入すればOK。毎回打ち直す手間がゼロになります。

一斉送信は便利な反面、宛先がズレると事故になります。最初は2〜3件の少数リストで挙動を確認してから、本番の件数に増やすのが安全です。

Excel側の関数やテクニックに不安がある方は、業務でよく使う関数をまとめたこちらも合わせてどうぞ。差し込み用の文字列づくりがグッとラクになります。

はかせ

「フローを一から組むのは正直しんどい…」という方向けに、コピペで使えるPADのフロー集も配布しています。動く完成品を見ると、改造もイメージしやすいですよ。

「正直、もっとラクに送りたい」人向けの代替ワザ3選

ここまでPADを紹介してきましたが、正直に言うと全員にRPAが最適なわけではありません。「送る相手も文面もほぼ固定」「フローを組むほどじゃない」というケースなら、Outlook標準の機能だけで十分ラクになります。私が現場で使い分けている3つを紹介します。

① Outlookの「クイック操作」でワンクリック送信

一番手軽なのがOutlook標準の「クイック操作(Quick Steps)」です。宛先・件名・本文をあらかじめ登録しておくと、ボタン1つで下書きが立ち上がります。設定もアクションも不要で、5分あれば作れます。

  • ホームタブの「クイック操作」グループ →「新規作成」→「ユーザー設定」
  • アクションで「新しいメッセージ」を選び、宛先・件名・本文を登録
  • ショートカットキー(Ctrl+Shift+1 など)も割り当て可能

「ほぼ毎回同じ人に、同じ件名で送る」なら、これが最速です。送信前に内容を目視できるので、誤送信の不安も少なめ。RPAを覚えるより先に試してほしい機能です。

② テンプレート+署名で入力を激減させる

文面のバリエーションが複数あるなら、「クイックパーツ」や「テンプレート(.oft)」が便利です。よく使う定型文を登録しておき、本文に呼び出すだけ。複数の署名を使い分ける機能と組み合わせると、宛先別の挨拶文も一瞬で挿入できます。

  • クイックパーツ:本文の定型句を登録 →「挿入」タブから呼び出し
  • テンプレート(.oft):メール一式を保存し、ダブルクリックで新規作成
  • 署名の複数登録:宛先や用途ごとに署名を切り替え

「自動で送る」わけではないものの、入力作業そのものが激減します。送信前に微調整したいメールが多い人には、むしろPADよりこちらが向いています。

③ クラウド版Power Automateでスケジュール自動送信

「決まった時刻に、PCを開いていなくても自動で送りたい」なら、クラウド版のPower Automateが答えです。PADはPCの前で実行する必要がありますが、クラウド版はサーバー上でスケジュール実行されるので、出社前でも休日でも勝手に送ってくれます。

  • 「スケジュール済みクラウドフロー」で毎週月曜9時などを指定
  • アクションに「メールを送信する(Outlook)」を追加
  • Microsoft 365アカウントがあれば追加コストなしで使えるプランも
よっちん

ざっくり言うと、PADは「手動実行&Outlook以外の操作も混ぜたいとき」、クラウド版は「時刻で完全自動にしたいとき」じゃ。両方を使い分けると死角がなくなる。

【番外編】Pythonでメール送信を自動化する

「もっと細かく制御したい」「他のシステムと連携させたい」という、コードが書ける人にはPythonがおすすめです。私も社内のWebアプリをNode.jsやPythonで内製していますが、メール送信は数行で書けてしまうので、定型処理に組み込むときの自由度が段違いです。やり方は大きく2つあります。

方法A:win32comでOutlookを操作する

すでにOutlookを設定済みなら、pywin32(win32com)でOutlookアプリを直接動かすのが一番ラクです。送信元アカウントやパスワードを書く必要がなく、普段使っているOutlookからそのまま送れます。事前に pip install pywin32 を実行しておきます。

import win32com.client # 起動済みのOutlookを掴む(なければ起動する) outlook = win32com.client.Dispatch("Outlook.Application") mail = outlook.CreateItem(0) # 0 = メールアイテム mail.To = "torihiki@example.com" mail.Subject = "本日の生産実績レポート" mail.Body = "お世話になっております。\n本日の実績を送付いたします。" # 添付したいときはコメントを外す # mail.Attachments.Add(r"C:\report\jisseki.xlsx") mail.Send() # 確認してから送りたいなら mail.Display() に変える print("送信しました")

mail.Send()mail.Display() に変えると、送信せずに下書きを画面表示できます。テスト中はこちらにしておくと安心です。HTML本文で送りたい場合は mail.Body の代わりに mail.HTMLBody を使います。

方法B:smtplibでSMTP直送する(Outlook不要)

Outlookアプリを介さず、標準ライブラリのsmtplibでメールサーバーへ直接送る方法です。インストール不要で、サーバーやNAS上で定期実行させたいときに向いています。私はDockerコンテナ内のバッチ処理から、この方式で通知メールを飛ばしています。

import smtplib from email.mime.text import MIMEText msg = MIMEText("お世話になっております。本日の実績を送付いたします。") msg["Subject"] = "本日の生産実績レポート" msg["From"] = "you@example.com" msg["To"] = "torihiki@example.com" with smtplib.SMTP("smtp.example.com", 587) as server: server.starttls() server.login("you@example.com", "アプリパスワード") server.send_message(msg) print("送信しました")

パスワードをコードに直書きするのは厳禁です。環境変数や .env ファイルに分けて読み込みましょう。またMicrosoft 365では基本認証が原則廃止されているため、アプリパスワードの発行やOAuth対応が必要になるケースがあります。社内サーバーで動かす場合は情シスとも相談してください。

よっちん

使い分けはシンプルじゃ。手元のOutlookからそのまま送るなら方法A、サーバーやNASで無人運用するなら方法B。Excelやデータベースの値を加工してから送る、といった複雑な処理が絡むときほどPythonの強みが出るぞ。

結局どれを使う?5つの使い分け早見表

「自分のケースだとどれ?」が一目で分かるように、表でまとめました。

方法向いているケース手間完全自動
クイック操作同じ相手に同じ件名で送るとても簡単×(ワンクリック)
テンプレート/署名文面を都度微調整したい簡単×(入力短縮)
Power Automate DesktopExcel連携・添付など複雑な処理やや必要△(手動実行)
クラウド版Power Automate時刻指定でPCを開かず送るやや必要
Python(win32com/smtplib)データ加工やシステム連携、サーバー無人運用要プログラミング◎(smtplibはPC不要)

迷ったら「クイック操作」から試して、物足りなくなったらPAD→クラウド版へステップアップするのが失敗しない順番です。

つまずきやすいポイントと対策

私や同僚が実際にハマった、PADでのよくあるつまずきを挙げておきます。先に知っておくと無駄に悩まずに済みます。

  • 「新しいOutlook」で動かない:デスクトップ版(クラシック)に切り替える。これが一番多い原因です。
  • 送信時にOutlookの警告が出る:セキュリティ設定でプログラムからの送信がブロックされている場合あり。社内PCは情シスに相談を。
  • 本文が文字化け・改行されない:「本文はHTMLです」のチェックと、本文内の改行タグ(<br>)を確認。
  • 変数(Excelの値)が空になる:列番号や行のインデックスのズレが原因。少数件でテストして特定する。

PADはメール以外にもRPAの幅が広く、たとえば定型作業のボタン連打のような単純作業も自動化できます。こんな使い方も参考になります。

よくある質問

Power Automate Desktopは本当に無料ですか?

はい。Windows 10/11では標準搭載されており、デスクトップでの自動化(ローカル実行)は無料で使えます。ただしクラウド版の一部機能やプレミアムコネクタは有料プランが必要になる場合があります。

ブラウザ版(新しいOutlook)でも自動送信できますか?

「Outlookを起動します」アクションはデスクトップ版(クラシックOutlook)が対象です。新しいOutlookやブラウザ版で自動化したい場合は、クラウド版Power Automateの「メールを送信する(Outlook)」アクションを使うのが確実です。

PCを閉じていても決まった時刻に送れますか?

Power Automate Desktopは基本的にPCの前で実行する必要があります。PCを開かずに時刻指定で送りたい場合は、サーバー上で動くクラウド版Power Automateのスケジュール実行を使ってください。

プログラミングの知識は必要ですか?

不要です。PADはアクションをドラッグ&ドロップで組み立てる仕組みなので、コードは書きません。私もエンジニア出身ではない総務担当ですが、メール送信フローは問題なく作れています。

誤送信が怖いです。対策はありますか?

最初は宛先を自分のアドレスにしてテスト送信し、内容を確認してから本番の宛先に書き換えるのが鉄則です。一斉送信の場合も、2〜3件の少数リストで挙動を確認してから件数を増やしましょう。

まとめ|まずは1つ、メール業務をラクにしてみよう

Power Automate DesktopでOutlookメールを自動送信する手順と、もっとラクに送るための代替ワザを紹介しました。ポイントを整理します。

  • PADなら「Outlookを起動」「メールを送信」の2アクションで自動送信できる
  • Excelリストと組み合わせれば宛先を変えながら一斉送信も可能
  • シンプルな用途ならクイック操作・テンプレートの方が手軽
  • 時刻指定で完全自動にしたいならクラウド版Power Automate

大切なのは「全部を一気に自動化しよう」と気負わないこと。まずは一番よく送るメール1つを、クイック操作かPADでラクにしてみてください。手作業で消えていた時間が戻ってくる感覚は、一度味わうとやめられません。

はかせ

僕も最初は「特定フォルダを開く」みたいな小さい自動化から始めました。小さく試して、効果を感じたら少しずつ広げる。これが挫折しないコツです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次