0
我無法弄清楚如何在服務器級別創建郵件會話。服務器級別的MailSession的Wsadmin腳本
這是我調用腳本:
WasLib.createMailSession("MY_MAIL_SESSION","mail/Emailer","smtp-myserver.com", "", "", "")
這個腳本現有的腳本創建在細胞水平的郵件會話,但我需要改變的範圍,服務器級別。到目前爲止,我每次運行腳本時都被迫重新手動創建郵件會話。
這是我WasLib.createMailSession功能:
def createMailSession(sessionName, jndiName, mailTransportHost, mailTransportUser, mailTransportPassword, mailFrom):
print 'Creation du Mail Session : ' + sessionName
name = ['name', sessionName ]
jndi = ['jndiName', jndiName ]
host = ['mailTransportHost', mailTransportHost ]
user = ['mailTransportUser', mailTransportUser ]
password = ['mailTransportPassword', mailTransportPassword ]
mFrom = ['mailFrom', mailFrom ]
protocol = ['mailTransportProtocol', getProtocolProvider('smtp') ]
debug = ['debug', "true" ]
strict = ['strict', "true" ]
mailAttrs = [ name, jndi, host, user, password, mFrom, protocol, debug, strict ]
#print "attributes" + AdminConfig.attributes('MailSession')
#print "Required " + AdminConfig.required('MailSession')
mailSession = AdminConfig.create('MailSession', **getMailProvider()**, mailAttrs)
if (mailTransportUser != "") :
for itemId in AdminConfig.list('J2EEResourcePropertySet', mailSession).split(lineSeparator) :
if len(itemId) == 0 :
itemId = AdminConfig.create('J2EEResourcePropertySet', mailSession, "[]")
AdminConfig.create('J2EEResourceProperty', itemId, '[[name "mail.smtp.port"] [type "java.lang.String"] [description ""] [value "587"] [required "false"]]')
AdminConfig.create('J2EEResourceProperty', itemId, '[[name "mail.smtp.auth"] [type "java.lang.String"] [description ""] [value "true"] [required "false"]]')
AdminConfig.create('J2EEResourceProperty', itemId, '[[name "mail.smtp.from"] [type "java.lang.String"] [description ""] [value "' + mailFrom + '"] [required "false"]]')
#endIf
#endFor
#endIf
return mailSession
#endDef
正如你可以看到getMailProvider返回的電池中,當我將其更改爲服務器失敗。
def getMailProvider():
return AdminConfig.getid('/Cell:'+AdminControl.getCell()+'/MailProvider:Built-in Mail Provider/')
#endDef
我已經沒有運氣嘗試這樣做:
def getMailProvider():
return AdminConfig.getid('/Cell:'+ AdminControl.getCell()
+'/Node:'+ AdminControl.getNode() +'/Server:'+ getServer() +'/')
#endDef
你缺少'+ '/ MailProvider:內置的郵件提供商/''在第二個例子。這是一個錯字還是你忘記了? :-) – Gas
由於此AdminConfig.getid('/ Cell:'+ AdminControl.getCell()+'/ Node:'+ AdminControl.getNode()+'/ Server:server1'+'/ MailProvider:內置郵件Provider /')'適合我。 – Gas
我會試試。謝謝 –