locked
ワークフローで送信した電子メール本文に画像とリンクを表示できない RRS feed

  • 質問

  • ワークフローから電子メールを送信する
    http://office.microsoft.com/ja-jp/sharepoint-designer-help/HA010239042.aspx#BM4

    こちらを参照して、SharePoint2010環境で、SharePoint Designer2010で、電子メールメッセージの定義に、

    下記をワークフローから送信するメールボディーに追加しましたが、

    <img src="https://xxxx.com/SiteCollectionImages/xxxx.jpg">

    <a href="http://www.xxxxx.com/">ここ</a>

    Outlook2010で受信したメールは、下記のように、そのまま かつ URL部分だけはリンクになって表示されます。

    <img src="https://xxxx.com/SiteCollectionImages/xxxx.jpg">

    <a href="http://www.xxxxx.com/">ここ</a>

    ゴールは、静的な画像とURLの埋め込みなのですが、どこを修正したらよいかアドバイスを頂けますか。

    2014年4月11日 3:03

回答

  • Ma3hiko様

    私の認識が間違っていたかもしれませんが、Ms3hiko様のご要件はメール本文内に決められた画像(ロゴなど)を既定で表示させたいという事でしょうか。
    もしそうであれば、私が実施した内容は即さないかもしれません。

    一応、私が実施した手順をまとめますと、
     1. SharePointリストに、複数行テキストの列項目(以下、「本文」とします)を作成する。
     2. SharePoint Designer で、メールを送信するワークフローを作成する。
       →「電子メールメッセージの定義」で、「参照の追加または変更」を押下して1.の「本文」項目を選択する。
        「返されるフィールドの名前」を"文字列型として"とする。
     3. 2.のワークフローを、アイテムの作成時や編集時に実行するように設定する。
    を行いました。

    SharePointリストでアイテムを作成する際に、
     1. 「本文」項目の入力時で、リボンメニューの「編集ツール」>「挿入」>「画像」をクリックする。
     2. メール内に表示させたい画像を選択する。
     3. 「本文」項目内に画像が挿入される。
     4. アイテムを保存する。
    を行い、ワークフローを実行して送信されたメール本文内に画像が表示される事を確認しています。

    もし、認識に齟齬がありましたらご了承下さい。


    • 編集済み tino0618 2014年4月14日 1:02
    • 回答としてマーク Ma3hiko 2014年4月14日 7:42
    2014年4月14日 1:01
  • tino0618さんのご協力のおかげでいろいろ試していたら下記で解決できました。tino0618さんありがとうございました。

    1. [ワークフロー]タブ-[ローカル変数]で、種類を文字列で変数imagesを作成

    2. ワークフローのアクションで「次に:電子メールを送信する」の直前に「ワークフローの変数を設定する」アクションを追加

    3. そのアクションに、先ほど追加した変数imagesを指定

    4. 変数の値を<img src="https://xxxx.com/Images/xxx.jpg">に設定

    5. 次の行のメール送信アクションの電子メールメッセージの定義で「参照の追加または変更」から
    データソース:ワークフローの変数とパラメーター
    ソースのフィールド:変数: images
    返されるフィールドの名前:文字列型として

    以上で、外部サイトやSharePointリスト以外の場所の画像も、ワークフローメールの本文に固定の既定ロゴとして追加できました。

    • 回答としてマーク Ma3hiko 2014年4月14日 7:42
    2014年4月14日 7:42

すべての返信

  • Ma3hiko様

    リンクですが、SharePoint Designer の電子メールの定義の機能で、メールボディ内にURLの指定を設定出来ます。
    Ma3hiko様の例であれば、「ここ」と記述した部分を選択して、「ハイパーリンクの編集」ボタンを押下してURLを指定します。
    (「ハイパーリンクの編集」ボタンは、電子メール定義の「件名」の下、フォント設定部分の一番右にある下図のボタン)

    これで、「ここ」の部分にリンクが設定されます。

    画像ですが、メール本文内に直接表示したいという事でしょうか。
    それであれば、以下の設定を行えば、送信されるメール内に画像が表示されると思います。
     1.リストもしくはライブラリに「複数行テキスト」(拡張リッチテキストの形式)の列項目を追加する。
     2.1.の列項目を電子メールの定義のメールボディ内に読み込むよう設定する。
     3.リストもしくはライブラリでアイテムを作成する際に、1.の列項目内に画像を挿入してアイテムを保存する。

    画像のURLをメール内に表示したいのであれば、「ハイパーリンクまたは画像」の列項目を追加して、その列項目をメールボディ内に読み込むようにすれば良いと思います。

    可能であれば、検証してみて下さい。


    • 編集済み tino0618 2014年4月11日 8:12
    2014年4月11日 8:10
  • tino0618さん

    ありがとうございます。

    URLリンクは埋め込めましたが、画像(ロゴをひとつ全通知に表示させたいだけ)は、

    提示頂いた「2.1.の列項目を電子メールの定義のメールボディ内に読み込むよう設定する。」がうまくいきません。

    具体的な方法どこかに提示ありますか?

    2014年4月14日 0:01
  • USのフォーラムで下記のソリューションを見つけましたが、

    http://social.msdn.microsoft.com/Forums/sharepoint/en-US/ea205142-6ddc-4df8-95a0-9cbff843f76e/sending-an-workflow-email-with-image?forum=sharepointcustomizationprevious

    とてもMSらしい解決策なので、3度くらい下記の内容を読み直してしまいました。

    Now it works...

    I don't think anything was done differently but I realised that once you have made the change via drop-down menu on the send email workflow action, you are not "entitled to open the Email Designer in GUI mode"..SO technically it should be the last thing you want to do for the workflow..

    まさかと思いましたが本当に動作しました。Designer2010から、ワークフローのメール本文に共有のロゴをひとつ表示させる方法で、

    もう少しマシなソリューションがあればご提示頂ければと助かります。

    2014年4月14日 0:05
  • Ma3hiko様

    私の認識が間違っていたかもしれませんが、Ms3hiko様のご要件はメール本文内に決められた画像(ロゴなど)を既定で表示させたいという事でしょうか。
    もしそうであれば、私が実施した内容は即さないかもしれません。

    一応、私が実施した手順をまとめますと、
     1. SharePointリストに、複数行テキストの列項目(以下、「本文」とします)を作成する。
     2. SharePoint Designer で、メールを送信するワークフローを作成する。
       →「電子メールメッセージの定義」で、「参照の追加または変更」を押下して1.の「本文」項目を選択する。
        「返されるフィールドの名前」を"文字列型として"とする。
     3. 2.のワークフローを、アイテムの作成時や編集時に実行するように設定する。
    を行いました。

    SharePointリストでアイテムを作成する際に、
     1. 「本文」項目の入力時で、リボンメニューの「編集ツール」>「挿入」>「画像」をクリックする。
     2. メール内に表示させたい画像を選択する。
     3. 「本文」項目内に画像が挿入される。
     4. アイテムを保存する。
    を行い、ワークフローを実行して送信されたメール本文内に画像が表示される事を確認しています。

    もし、認識に齟齬がありましたらご了承下さい。


    • 編集済み tino0618 2014年4月14日 1:02
    • 回答としてマーク Ma3hiko 2014年4月14日 7:42
    2014年4月14日 1:01
  • tino0618さん

    ありがとうございます。画像の表示は、文字列型で返せばできるのですね。

    確かにこれでしたら画像が表示できました。

    おっしゃる通り、「決められた画像を既定表示」したいので、頂いた方法だと難しいですが、新規で画像用リストを作ってそこから引用して表示ができることを確認しました。

    ただ、SharePointにアクセス権がないユーザーには表示できないかと思い、テストしてみましたが、

    SharePointのアクセス権がなくても画像は表示できるのですね。

    この方法でもいいのですが、

    SharePointではないWebサーバーの画像をリンクさせて表示させるという方法は取れないのでしょうか。

    上記のUSコミュニティーの方法で、<img src="https://xxxx.com/images/xxxx.jpg">を埋め込めばできるのですが、

    いかんせん、設定後に2度と設定を変更できないのはつらいです。

    2014年4月14日 6:26
  • tino0618さんのご協力のおかげでいろいろ試していたら下記で解決できました。tino0618さんありがとうございました。

    1. [ワークフロー]タブ-[ローカル変数]で、種類を文字列で変数imagesを作成

    2. ワークフローのアクションで「次に:電子メールを送信する」の直前に「ワークフローの変数を設定する」アクションを追加

    3. そのアクションに、先ほど追加した変数imagesを指定

    4. 変数の値を<img src="https://xxxx.com/Images/xxx.jpg">に設定

    5. 次の行のメール送信アクションの電子メールメッセージの定義で「参照の追加または変更」から
    データソース:ワークフローの変数とパラメーター
    ソースのフィールド:変数: images
    返されるフィールドの名前:文字列型として

    以上で、外部サイトやSharePointリスト以外の場所の画像も、ワークフローメールの本文に固定の既定ロゴとして追加できました。

    • 回答としてマーク Ma3hiko 2014年4月14日 7:42
    2014年4月14日 7:42
  • Ma3hiko様

    解決されたようで何よりです。
    Ma3hiko様の解決策のように、ワークフローのローカル変数を利用するという手段もありましたね。
    有効な手段をお伝え出来ずに、申し訳ありませんでした。
    ただ、少しでもお役に立てたようで、安心しました。
    今後も宜しくお願いします。

    2014年4月14日 7:48