我正在创建一个带有按钮的自定义HTML页面,该按钮将根据用户选择的参数生成并发送电子邮件。用户选择一个小组(确定电子邮件的“收件人”地址),抄送,主题,正文等。
我用Javascript表示了每个变量,因为我最初是使用Mailto:编写电子邮件的,但是我想用HTML格式化正文并在按下按钮时自动发送电子邮件,因此我决定使用VBScript而不是Mailto。
这是我的代码:
<script>
var emailTo = $("#teamName").val();
var emailCC = $("#CC").val();
var emailSubject = $("#ticketNumber").val();
var reason = $('#otherRadioBtn').is(':checked')?$("#otherFreeTextField").val():$(".reason:checked").val();
var emailBody = "<html><body><p><b>Issue:</b> " + $("#issue").val() + "<p><b>Customer Contact Information:</b> " + $("#contactInformation").val() + "<p><b>Requested Action:</b> " + $(".requestedAction:checked").val() + "<p><b>Reason:</b> " + reason + "<p><b>AWorkaround Available?</b> " + $(".workaround:checked").val() + "</body></html>";
</script>
<script type="text/vbscript">
Function sendEmail()
Dim oApp As New Outlook.Applications
Dim oEmail As Outlook.MailItem
Set oEmail = oApp.CreateItem(olMailItem)
oEmail.To = emailTo
oEmail.CC = emailCC
oEmail.Subject = emailSubject
oEmail.HTMLBody = emailBody
With oEmail
If Not IsNull(.To) And Not IsNull(.Subject) And Not ISNull(.HTMLBody) Then
.Send
Msgbox "Escalation sent successfully!"
Else
MsgBox "Please complete all of the fields."
End If
End With
End Function
</script>
<input type="submit" value="Generate email" onclick="sendEmail()">
当我单击“生成电子邮件”按钮时,没有任何反应。我怀疑这与我的VBSCript代码有关,尤其是我给它的变量。
这是给我组织中的团队的,我们都使用Outlook和IE。
答案 0 :(得分:0)
@Dave关于类型声明是正确的,但是正确的语法是
Dim oApp : Set oApp = CreateObject("Outlook.Application")
此外,您不能在VBScript中使用命名常量。您必须设置常数或发送其值。要么
Const olMailItem = 0
Set oEmail = oApp.CreateItem(olMailItem)
或
Set oEmail = oApp.CreateItem(0)