Liferay использует файлы шаблонов (.tmpl) для управления шаблонами электронной почты. Согласно источнику Liferay, для создания Пользователя данный фрагмент используется для отправки почты пользователям.
String body = PrefsPropsUtil.getContent(
user.getCompanyId(), PropsKeys.ADMIN_EMAIL_USER_ADDED_BODY);
SubscriptionSender subscriptionSender = new SubscriptionSender();
subscriptionSender.setBody(body);
subscriptionSender.setCompanyId(user.getCompanyId());
subscriptionSender.setContextAttributes(
"[$USER_ID$]", user.getUserId(), "[$USER_PASSWORD$]", password,
"[$USER_SCREENNAME$]", user.getScreenName());
subscriptionSender.setFrom(fromAddress, fromName);
subscriptionSender.setHtmlFormat(true);
subscriptionSender.setMailId(
"user", user.getUserId(), System.currentTimeMillis(),
PwdGenerator.getPassword());
subscriptionSender.setServiceContext(serviceContext);
subscriptionSender.setSubject(subject);
subscriptionSender.setUserId(user.getUserId());
subscriptionSender.addRuntimeSubscribers(toAddress, toName);
subscriptionSender.flushNotificationsAsync();
Это часть класса сервиса implLocalServiceImpl. Здесь «PropsKeys.ADMIN_EMAIL_USER_ADDED_BODY» - это путь к шаблону для содержимого тела (по умолчанию используется liferay). Вы можете заполнить свои пользовательские данные в предоставленном шаблоне.
Edit: После выполнения вашей пользовательской логики, вы можете напрямую позвонить
UserLocalServiceUtil.sendPassword(
long companyId, String emailAddress, String fromName,
String fromAddress, String subject, String body,
ServiceContext serviceContext)
метод непосредственно из пользовательского класса, который будет заботиться о использовании LifeRay шаблона, а также управление паролями.
Спасибо за ваш ответ, но мне также нужно отправить пароль пользователя, откуда я могу получить пароль пользователя? –
Попробуйте использовать user.getPassword() для этого –
user.getPassword() дает мне зашифрованный пароль, который нельзя дешифровать. Так что это не полезно. –