メールを作成しようとすると、エラーは出ないが作成出来ない。

何を実現したいのかを書きましょう

レコード編集or閲覧時にのみ表示されるボタンをクリックすると、レコードの情報と固定値で作成したメールを送信したい。

発生した問題やエラーメッセージを具体的に書きましょう

メールの作成までは出来るのですが、レコードから取得した情報にURLが含まれているとメールの作成が出来ません(メーラーが起動しない)
また、固定値の部分にハイパーリンクを作成したいのですが、上手くいきません。

実行したコードをコピー&ペーストしましょう

//*************************
// メール回答の作成
//*************************

kintone.events.on(['app.record.detail.show','app.record.edit.show'],(event) => {
  //ボタンフィールドの取得
  const space = kintone.app.record.getSpaceElement('button');
  const button = document.createElement('button');
  button.textContent = 'メール送信';
  space.appendChild(button);    
  //文字列フィールドの取得
      button.addEventListener('click', () => {
      button.onclick = function() {
          const tableRecords = event.record.Correspondence_history.value;
          let targetRow = tableRecords[tableRecords.length - 1].value;
          let Correspondence = targetRow.Correspondence.value;
          let title = '';
          let honbun = '';
          let address = '';
          let Department = event.record.Department.value;
          let Name = event.record.Name.value;
          let Model = event.record.Model.value;
          let Inquiry = event.record.Inquiry.value;
          let CreateDate = event.record.CreateDate.value;
          title = 'サポートデスクお問い合わせ回答メール' + '[' + event.record.RecordNo.value + ']';
          honbun = Department + Name + '様' + '%0D%0A' + 'お疲れさまです。サポートデスクです。' + '%0D%0A' + 'お問い合わせいただきました件につきまして、下記の通り回答させて頂きます。'
          + '%0D%0A'  + '%0D%0A' + 'お問い合わせ日時:' + CreateDate  + '%0D%0A' + '製品名:' + Model  + '%0D%0A'  + '%0D%0A' + '◆お問い合わせ内容'
          + '%0D%0A' + Inquiry + '%0D%0A' + '%0D%0A' + '◆回答内容'  + '%0D%0A' + Correspondence + '%0D%0A'  + '%0D%0A' + '【サポートデスクからのお願い】'
          honbun2 = '> 営業職( CE 以外の方)はこちら > よくある問い合わせ' + '%0D%0A' + '(サポートデスクに寄せられる問い合わせの多い内容を掲載)'; 

          + '%0D%0A'  + '■お問い合わせをいただく前に以下の情報サイト/ツールでご確認願います。'
          address = event.record.mailaddress.value;
        location.href = 'mailto:' + address + '?subject=' + title + '?body=' + honbun + honbun2;
        console.log(event.record)
      };
  
    });
  });

一部、特定出来てしまうような部分は伏せさせて頂いています。
お手数ですが、メールが作成されない原因とハイパーリンクの作成に関してアドバイス頂けますでしょうか。

mailto:はサイトを見ている人の環境によって動作が異なるので
再現がむずかしいところがあります。

症状とちがうかもしれませんが

(() => {
  'use strict';
  kintone.events.on('app.record.index.show', (event) => {
    location.href = 'mailto:test@example.com&subject=test_subject?body=test_body'
  });
})();

のように bodyの前を?ではなくて&でつながないと
件名が
test_subject?body=test_body
のようになってしまいました。

@aaa
ありがとうございます。
ご指摘頂きました部分は修正し、件名は正常に表示されるようになりました。
ただ、やはりレコードから取ってくる情報にURLが入っているとメールが作成されない状態となってしまっています。何か気になる点等ございましたら、引き続きよろしくお願いします。

試しにURLを入れてみたところ
デスクトップ版のOutlookではメール作成画面になりました。

image

(() => {
  'use strict';
  kintone.events.on('app.record.index.show', (event) => {
    location.href = 'mailto:test@example.com?subject=test_subject&body='+ '様' + '%0D%0A' + 'お疲れさまです。' + "https://www.example.com/"
  });
})();

mailto: で動作させる場合、URLエンコードが必要みたいですね。改行コードはエンコードされている?そのほかは?
mailto - Wikipedia

constを使わない主義のコード見ました。
人生で2回目ですが、そういうポリシーはどこで推奨されていますか?

「いいね!」 1

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。