工作流脚本元素可以包括对常见电子邮件任务的脚本编辑。您可以将这些示例剪切、粘贴和调整应用到自己的脚本元素中。

运行邮件工作流时,它会使用您在“配置邮件”工作流中设置的默认邮件服务器配置。您可以使用输入参数或在工作流脚本元素中定义自定义值以替代默认值。

获取电子邮件地址

以下 JavaScript 示例会获取当前运行脚本的所有者的电子邮件地址。

var emailAddress = Server.getRunningUser().emailAddress ;

发送电子邮件

以下 JavaScript 示例会通过 SMTP 服务器向规定的收件人发送规定内容的电子邮件。

var message = new EmailMessage() ; 
message.smtpHost = "smtpHost" ;
message.subject= "my subject" ; 
message.toAddress = "receiver@vmware.com" ; 
message.fromAddress = "sender@vmware.com" ;
message.addMimePart("This is a simple message","text/html") ;
message.sendMessage() ;

检索电子邮件

以下 JavaScript 示例会使用 MailClient 类提供的脚本 API 检索特定电子邮件帐户的消息,而不将其删除。

var myMailClient = new MailClient();

myMailClient.setProtocol(mailProtocol);
if(useSSL){
 myMailClient.enableSSL();
}

myMailClient.connect( mailServer, mailPort, mailUsername, mailPassword);
System.log("Successfully login!");

try {
	myMailClient.openFolder("Inbox");
	
	var messages = myMailClient.getMessages();
	System.log("Reading messages...!");
	if ( messages != null && messages.length > 0 ) {
	  System.log( "You have " + messages.length + " email(s) in your inbox" );
	 for (i = 0; i < messages.length; i++) {
	  System.log("");
	  System.log("-----MSG-------");
	  System.log("Headers: ");
	  var headerProp = messages[i].getHeaders();
	  for each(key in headerProp.keys){
	   System.log(key+": "+headerProp.get(key));
	  }
	  System.log("");  
	
	  System.log( "Message["+ i +"] with from: " + messages[i].from + " to: " + messages[i].to);
	  System.log( "Message["+ i +"] with subject: " + messages[i].subject);
	  var content = messages[i].getContent();
	  System.log("Msg content as string: " + content);
	 }
	} else {
	  System.warn( "No messages found" );
	}
} finally {
	myMailClient.closeFolder();
	myMailClient.close();
}