質問

私は開始のメールを呼び出し以下のコードは、追加のメールアドレスに添付します。

したいユーザできるタイプのreceipientを修正する内容のメッセージだけではない送信する。

なぜdoを取得しまRangeErrorの2回目の方法は?
(最初の時間で作業してください。

function NewMailItem(p_recipient, p_subject, p_body, p_file, p_attachmentname)
{
   try 
   {
     var objO = new ActiveXObject('Outlook.Application');
     var objNS = objO.GetNameSpace('MAPI');
     var mItm = objO.CreateItem(0);
     mItm.Display();
     if (p_recipient.length > 0) 
     {
       mItm.To = p_recipient;
     }
     mItm.Subject = p_subject;
     if (p_file.length > 0) 
     {
      var mAts = mItm.Attachments;
      mAts.add(p_file, 1, p_body.length + 1, p_attachmentname);
     }
     mItm.Body = p_body;
     mItm.GetInspector.WindowState = 2;
   } catch(e) 
   { 
     alert('unable to create new mail item'); 
   } 
}

のエラーは庭をにられることになります。追加。いもうとすると添付文書で失敗します。

また、ファイル名(p_file)httpアドレスをイメージです。

正しい解決策はありません

他のヒント

ユーザーがそれに設定されたマシンとアカウントにOutlookを持っている必要があり、IE以外では動作しません。あなたは電子メールをこの方法で送信してもよろしいですか?

私はこの小さなスニペットでそれをしようとしている、それが完璧に動作ます:

var objO = new ActiveXObject('Outlook.Application');
var mItm = objO.CreateItem(0);

var mAts   = mItm.Attachments;
var p_file = [
  "http://stackoverflow.com/content/img/vote-arrow-up.png",
  "http://stackoverflow.com/content/img/vote-arrow-down.png"
];
for (var i = 0; i < p_file.length; i++) {
  mAts.add(p_file[i]);
}

私はAttachments.Add()に、すべてのオプションの引数を去ったことに注意してください。あなたがとにかく欲しいように見えるものです終了時に添付ファイルを追加する方法は、デフォルトます。

あなたは、このスタンドアロンスニペットを試すことはできますか?それはあなたのために働く場合は、この絶対的な最小値に向けたコードのステップバイステップの削減を行うと、エラーの原因を見つけるだろうしてください。

最初のうmItm.display() その後書mItm.GetInspector.WindowState=2;これは動作します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top