Workflow 指令碼式元素可能包含一般電子郵件相關工作的指令碼。您可以將這些範例剪下並貼上至您的指令碼式元素中,然後調整成您需要的內容。

當您執行郵件工作流程時,它會使用您在設定郵件工作流程中設定的預設郵件伺服器組態。您可以使用輸入參數,或在 workflow 指令碼式元素中定義自訂值,來覆寫預設值。

取得電子郵件地址

下列 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();
}