📄 mstore.java
字号:
* @param to recipient
* @param subject sunject
* @param message nessage
* @return EMail
*/
public EMail createEMail (String to,
String subject, String message)
{
if (to == null || to.length() == 0)
{
log.warning("No To");
return null;
}
//
EMail email = null;
MClient client = MClient.get(getCtx(), getAD_Client_ID());
if (client.isServerEMail() && Ini.isClient())
{
Server server = CConnection.get().getServer();
try
{
if (server != null)
{ // See ServerBean
email = server.createEMail(getCtx(), getAD_Client_ID(),
to, subject, message);
}
else
log.log(Level.WARNING, "No AppsServer");
}
catch (RemoteException ex)
{
log.log(Level.SEVERE, getName() + " - AppsServer error", ex);
}
}
String from = getWStoreEMail();
if (from == null || from.length() == 0)
from = client.getRequestEMail();
if (email == null)
email = new EMail (client,
from, to,
subject, message);
// Authorizetion
if (client.isSmtpAuthorization())
{
if (getWStoreEMail() != null && getWStoreUser() != null && getWStoreUserPW() != null)
email.createAuthenticator (getWStoreUser(), getWStoreUserPW());
else
email.createAuthenticator (client.getRequestUser(), client.getRequestUserPW());
}
// Bcc
email.addBcc(from);
//
return email;
} // createEMail
/**
* Send EMail from WebStore User
* @param to recipient email address
* @param subject subject
* @param message message - add header & footer
* @return true if sent
*/
public boolean sendEMail (String to,
String subject, String message)
{
if (message == null || message.length() == 0)
{
log.warning("No Message");
return false;
}
StringBuffer msgText = new StringBuffer();
if (getEMailHeader() != null)
msgText.append(getEMailHeader());
msgText.append(message);
if (getEMailFooter() != null)
msgText.append(getEMailFooter());
//
EMail email = createEMail(to, subject, msgText.toString());
if (email == null)
return false;
try
{
String msg = email.send();
if (EMail.SENT_OK.equals (email.send ()))
{
log.info("Sent EMail " + subject + " to " + to);
return true;
}
else
{
log.warning("Could NOT Send Email: " + subject
+ " to " + to + ": " + msg
+ " (" + getName() + ")");
return false;
}
}
catch (Exception ex)
{
log.severe(getName() + " - " + ex.getLocalizedMessage());
return false;
}
} // sendEMail
/**
* Test WebStore EMail
* @return OK or error
*/
public String testEMail()
{
if (getWStoreEMail() == null || getWStoreEMail().length() == 0)
return "No Web Store EMail for " + getName();
//
EMail email = createEMail (getWStoreEMail(),
"Compiere WebStore EMail Test",
"Compiere WebStore EMail Test: " + toString());
if (email == null)
return "Could not create Web Store EMail: " + getName();
try
{
String msg = email.send();
if (EMail.SENT_OK.equals (email.send ()))
{
log.info("Sent Test EMail to " + getWStoreEMail());
return "OK";
}
else
{
log.warning("Could NOT send Test Email to "
+ getWStoreEMail() + ": " + msg);
return msg;
}
}
catch (Exception ex)
{
log.severe(getName() + " - " + ex.getLocalizedMessage());
return ex.getLocalizedMessage();
}
} // testEMail
/**
* Get Messages
* @param reload reload data
* @return array of messages
*/
public MMailMsg[] getMailMsgs (boolean reload)
{
if (m_msgs != null && !reload)
return m_msgs;
ArrayList<MMailMsg> list = new ArrayList<MMailMsg>();
//
String sql = "SELECT * FROM W_MailMsg WHERE W_Store_ID=? ORDER BY MailMsgType";
PreparedStatement pstmt = null;
try
{
pstmt = DB.prepareStatement (sql, get_TrxName());
pstmt.setInt (1, getW_Store_ID());
ResultSet rs = pstmt.executeQuery ();
while (rs.next ())
list.add (new MMailMsg (getCtx(), rs, get_TrxName()));
rs.close ();
pstmt.close ();
pstmt = null;
}
catch (Exception e)
{
log.log (Level.SEVERE, sql, e);
}
try
{
if (pstmt != null)
pstmt.close ();
pstmt = null;
}
catch (Exception e)
{
pstmt = null;
}
//
m_msgs = new MMailMsg[list.size ()];
list.toArray (m_msgs);
return m_msgs;
} // getMailMsgs
/**
* Get Mail Msg and if not found create it
* @param MailMsgType mail message type
* @return message
*/
public MMailMsg getMailMsg (String MailMsgType)
{
if (m_msgs == null)
getMailMsgs(false);
// existing msg
for (int i = 0; i < m_msgs.length; i++)
{
if (m_msgs[i].getMailMsgType().equals(MailMsgType))
return m_msgs[i];
}
// create missing
if (createMessages() == 0)
{
log.severe("Not created/found: " + MailMsgType);
return null;
}
getMailMsgs(true);
// try again
for (int i = 0; i < m_msgs.length; i++)
{
if (m_msgs[i].getMailMsgType().equals(MailMsgType))
return m_msgs[i];
}
// nothing found
log.severe("Not found: " + MailMsgType);
return null;
} // getMailMsg
/**************************************************************************
* Create (missing) Messages
* @return number of messages created
*/
public int createMessages()
{
String[][] initMsgs = new String[][]
{
new String[]{MMailMsg.MAILMSGTYPE_UserValidation,
"EMail Validation",
"EMail Validation ",
"Dear ",
"\nYou requested the Validation Code: ",
"\nPlease enter the validation code to get access."},
new String[]{MMailMsg.MAILMSGTYPE_UserPassword,
"Password Request",
"Password Request ",
"Dear ",
"\nWe received a 'Send Password' request from: ",
"\nYour password is: "},
new String[]{MMailMsg.MAILMSGTYPE_Subscribe,
"Subscription New",
"New Subscription ",
"Dear ",
"\nYou requested to be added to the list: ",
"\nThanks for your interest."},
new String[]{MMailMsg.MAILMSGTYPE_UnSubscribe,
"Subscription Removed",
"Remove Subscription ",
"Dear ",
"\nYou requested to be removed from the list: ",
"\nSorry to see you go. This is effictive immediately."},
new String[]{MMailMsg.MAILMSGTYPE_OrderAcknowledgement,
"Order Acknowledgement",
"Compiere Web - Order ",
"Dear ",
"\nThank you for your purchase: ",
"\nYou can view your Orders, Invoices, Payments in the Web Store."
+ "\nFrom there, you also download your Assets (Documentation, etc.)"},
new String[]{MMailMsg.MAILMSGTYPE_PaymentAcknowledgement,
"Payment Success",
"Compiere Web - Payment ",
"Dear ",
"\nThank you for your payment of ",
"\nYou can view your Orders, Invoices, Payments in the Web Store."
+ "\nFrom there you also download your Assets (Documentation, etc.)"},
new String[]{MMailMsg.MAILMSGTYPE_PaymentError,
"Payment Error",
"Compiere Web - Declined Payment ",
"Dear ",
"\nUnfortunately your payment was declined: ",
"\nPlease check and try again. You can pay later by going to 'My Orders' or 'My Invoices' - or by directly creating a payment in 'My Payments'"},
new String[]{MMailMsg.MAILMSGTYPE_Request,
"Request",
"Request ",
"Dear ",
"\nThank you for your request: " + MRequest.SEPARATOR,
MRequest.SEPARATOR + "\nPlease check back for updates."},
new String[]{MMailMsg.MAILMSGTYPE_UserAccount,
"Welcome Message",
"Welcome",
"Welcome to our Web Store",
"This is the Validation Code to access information:",
""},
};
if (m_msgs == null)
getMailMsgs(false);
if (m_msgs.length == initMsgs.length) // may create a problem if user defined own ones - unlikely
return 0; // nothing to do
int counter = 0;
for (int i = 0; i < initMsgs.length; i++)
{
boolean found = false;
for (int m = 0; m < m_msgs.length; m++)
{
if (initMsgs[i][0].equals(m_msgs[m].getMailMsgType()))
{
found = true;
break;
}
} // for all existing msgs
if (found)
continue;
MMailMsg msg = new MMailMsg(this, initMsgs[i][0], initMsgs[i][1],
initMsgs[i][2], initMsgs[i][3], initMsgs[i][4], initMsgs[i][5]);
if (msg.save())
counter++;
else
log.severe("Not created MailMsgType=" + initMsgs[i][0]);
} // for all initMsgs
log.info("#" + counter);
m_msgs = null; // reset
return counter;
} // createMessages
} // MWStore
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -