更改正文时Outlook加载网址

时间:2018-04-17 18:10:30

标签: visual-studio vsto outlook-addin

我正在开发VSTO中的电子邮件跟踪应用程序。它在html正文中跟踪url assign时加载跟踪网址。我的代码示例在发送按钮事件中

private void Application_ItemSend(object Item, ref bool Cancel)
{
 Outlook.MailItem mailItem = Item as Outlook.MailItem;
 string body = mailItem.HTMLBody;
 string imagurl = String.Format("<img id='shtracking' src='{0}'  border='0' 
 width='0' height='0'>",emailTrack);

int index2 = body.IndexOf("</body>");
            string finalResult = body.Insert(index2, imagurl);
            mailItem.HTMLBody = finalResult; //issue
}

它在发送消息之前重新加载页面。无论如何要在发送电子邮件之前阻止请求?

谢谢

1 个答案:

答案 0 :(得分:0)

尝试取消提交(将Cancel参数设置为true)并启动计时器 - 当它触发时,您将不在发送事件处理程序中,因此您可以调用public void gotoDashboard(View view) { email1=email.getText().toString(); pass1=pass.getText().toString(); mAuth=FirebaseAuth.getInstance(); if (email1 != null && !email1.isEmpty() && pass1 != null && !pass1.isEmpty()) { mAuth.signInWithEmailAndPassword(email1, pass1) .addOnCompleteListener(new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { progressDialog.dismiss(); if (task.isSuccessful()) { startActivity(new Intent(Login.this, Dashboard.class)); } else { Toast.makeText(Login.this, ""e.toString(), Toast.LENGTH_SHORT).show(); } } }); } } 关闭检查员。然后,您可以设置MailItem.Close属性并再次致电HTMLBody。以某种方式标记项目以避免再次在Send事件中处理它。