Fórumok

Liferay mail API - error

thumbnail
Martin Kučerák, módosítva 13 év-val korábban

Liferay mail API - error

New Member Bejegyzések: 23 Csatlakozás dátuma: 2010.03.10. Legújabb bejegyzések
zdravim komunitu,
narazil jsem na zajimavy problem, bohuzel jsem zatim nenasel zadnou schopnou metodu v Liferay mail API...
na zasilani e-mailu pouzivam rozhrani com.liferay.mail.service.MailServiceUtil - toto rozhrani poskytuje metodu sendEmail() pro posilani emailu, bohuzel rozhrani zahlasi jen error, pokud se e-mail snazi odeslat a v Liferay neni korektne nastaven SMTP server, takze on se nemuze spojit se serverem.
Kdyby vyhazoval vyjimku, tak se da upozornit uzivatel, ale pokud se pouze v konzoli objevi error a navic jsem nikde nenasel, jak tento error zjistit programove, tak bohuzel nemuzu uzivatele upozornit o neodeslanem mailu.
dekuji za rady
thumbnail
Tomas Polesovsky, módosítva 13 év-val korábban

RE: Liferay mail API - error (Válasz)

Liferay Master Bejegyzések: 676 Csatlakozás dátuma: 2009.02.13. Legújabb bejegyzések
Pekne svatky!

<br />

Kdyz se divam na com.liferay.mail.service.MailServiceUtil, tak pro odesilani mailu pouziva MessageBus co je v Liferay a ten pouziva vlastni vlakna, ve kterych spousti dane tasky. Takze v dusledku se volani preda do jineho vlakna a tim padem nejde odchytit vyjimka.
<br />
Nicmene, kdyz se divam dale na nastaveni v messaging-spring.xml:
<xmp>
				<entry key="liferay/mail">
					<list value-type="com.liferay.portal.kernel.messaging.MessageListener">
						<ref bean="messageListener.mail" />
					</list>
				</entry>

	<bean id="messageListener.mail" class="com.liferay.mail.messaging.MailMessageListener" />

</xmp>
<br />
tak mi z toho vychazi, ze odesilani se deje v dusledku pres MailMessageListener, ktery vola:
<pre>

	public void doMailMessage(MailMessage mailMessage) throws Exception {
		InternetAddress[] auditTrail = InternetAddress.parse(
			PropsUtil.get(PropsKeys.MAIL_AUDIT_TRAIL));

		if (auditTrail.length &gt; 0) {
			InternetAddress[] bcc = mailMessage.getBCC();

			if (bcc != null) {
				InternetAddress[] allBCC = new InternetAddress[
					bcc.length + auditTrail.length];

				ArrayUtil.combine(bcc, auditTrail, allBCC);

				mailMessage.setBCC(allBCC);
			}
			else {
				mailMessage.setBCC(auditTrail);
			}
		}

		MailEngine.send(mailMessage);
	}
</pre>
<br />
Zde se pouziva navic pouze mail.audit.trail z portal.properties:
<pre>

    #
    # Input a list of comma delimited email addresses that will receive a BCC of
    # every email sent through the mail server.
    #
    mail.audit.trail=
</pre>
<br />

Takze finalne - pokud chci ignorovat mail.audit.trail z portal.properties, tak mi staci k odeslani com.liferay.util.mail.MailEngine z baliku util-java.jar.

<br />

Je to srozumitelne ? emoticon
<br />

BTW. nejak nefunguje editor v Liferay?! Tak se omlouvam za rozhozeny prispevek emoticon
<br />

-- tom
thumbnail
Martin Kučerák, módosítva 13 év-val korábban

RE: Liferay mail API - error

New Member Bejegyzések: 23 Csatlakozás dátuma: 2010.03.10. Legújabb bejegyzések
diky moc za snahu, se ceni, uz jsem myslel, ze nikdo neodpovi emoticon
asi jo, snad chapu - proste pouzit jinou tridu (MailEngine) a odchytavat vyjimku
thumbnail
Tomas Polesovsky, módosítva 13 év-val korábban

RE: Liferay mail API - error

Liferay Master Bejegyzések: 676 Csatlakozás dátuma: 2009.02.13. Legújabb bejegyzések
Njn, Vanoce emoticon
thumbnail
Martin Kučerák, módosítva 13 év-val korábban

RE: Liferay mail API - error

New Member Bejegyzések: 23 Csatlakozás dátuma: 2010.03.10. Legújabb bejegyzések
takze zmenena trida se chova stejne, MailEngine si vyjimku odchytava sam - zapisuje ji primo do logu a "neprobublava" ji dale a ja ji tak nemuzu odchytavat sam

dekuji za tip, nakonec problem budu muset resit jinak - asi vlastnim kodem
tema jsem oznacil jako vyresene, protoze v podstate vyresene je emoticon