我的應用程序旨在創建一個表格,稍後由用戶編輯。在此之後,我需要我的應用程序通過電子郵件發送頁面內容。是否可以使用UI5通過電子郵件發送頁面內容?
我用URLHelper的觸發電子郵件(),但通過這個我能與收件人,抄送,主題,正文觸發電子郵件,但我UI5應用程序不能表中插入電子郵件。
有人可以提出建議嗎?或者甚至有可能? 我不介意使用普通的JavaScript,點是我需要這樣做,而不使用後端。
我的應用程序旨在創建一個表格,稍後由用戶編輯。在此之後,我需要我的應用程序通過電子郵件發送頁面內容。是否可以使用UI5通過電子郵件發送頁面內容?
我用URLHelper的觸發電子郵件(),但通過這個我能與收件人,抄送,主題,正文觸發電子郵件,但我UI5應用程序不能表中插入電子郵件。
有人可以提出建議嗎?或者甚至有可能? 我不介意使用普通的JavaScript,點是我需要這樣做,而不使用後端。
我們在其中一個應用上做了類似的事情。我在屏幕上添加了一個按鈕,當點擊時調用一個'mailto',並用to,subject和body填充電子郵件客戶端。正文是作爲腳本的一部分創建的。我們基本上將表內容讀入數組,然後使用forEach循環遍歷條目。請牢記使用mailto,甚至URLHelper都不允許您在電子郵件的「正文」中使用HTML格式的文本。所以,如果你正在尋找漂亮的東西,你可能會倒黴。
onNotifyUserPress: function(oEvent) {
var oItem = oEvent.getSource();
var oBinding = oItem.getBindingContext();
// Set some vars for the email package
var sEmpEmail = oBinding.getProperty("Smtp");
var sEmpName = oBinding.getProperty("STEXT_2");
var sEmailSubject = "Your Subject " + sEmpName;
// Create DateFormat Object
var oDateFormat = DateFormat.getDateTimeInstance({pattern: "dd/MM/yyyy"});
// Retrieve Table Data
var oTable = this.getView().byId("yourTable");
var aTableData = oTable.getBinding("items").getContexts();
// Build the email body
var sBody = sEmpName + " - Some Body Text\n\n";
sBody += "Field 1 | " + "Field 2 | " + "Field 3 | " + "Field 4" + "\n";
// Loop through table data and build the output for the rest of the email body
aTableData.forEach(function(oModel) {
var oModelData = oModel.getObject();
var sEndDate = oDateFormat.format(oModelData.Vendd);
var sStatus = this._formatStatus(oModelData.ZQ_STAT);
sBody += (oModelData.Essential === "X" ? "Yes" : "No") + " | " + oModelData.Ttext + " | " + sEndDate + " | " + sStatus + "\n";
}.bind(this));
// Open email client window and prepopulate with info
window.open("mailto:" + sEmpEmail + "&subject=" + sEmailSubject + "&body=" + encodeURIComponent(sBody), "_self");
},
您顯然需要更新代碼以指向表格數據。在這個特定的實例中,我們有一個包含幾個部分的對象頁面。每個部分都包含一個表格,用於加載與用戶關聯的實體列表。由於數據已經被加載並存在於模型,這可能不是相同的方式工作,因爲你正在試圖做什麼(如果我理解正確的話),因爲你需要發送電子郵件時輸入的數據後/修改?
希望這至少可以讓你開始!
乾杯!