Forums

Home » Liferay Portal » česky a slovensky

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Martin Kučerák
Liferay mail API - error
December 17, 2010 1:35 AM
Answer

Martin Kučerák

Rank: New Member

Posts: 23

Join Date: March 10, 2010

Recent Posts

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
Tomas Polesovsky
RE: Liferay mail API - error
January 17, 2011 8:16 PM
Answer

Tomas Polesovsky

LIFERAY STAFF

Rank: Liferay Master

Posts: 577

Join Date: February 13, 2009

Recent Posts

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>
1                <entry key="liferay/mail">
2                    <list value-type="com.liferay.portal.kernel.messaging.MessageListener">
3                        <ref bean="messageListener.mail" />
4                    </list>
5                </entry>
6
7    <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>
 1
 2    public void doMailMessage(MailMessage mailMessage) throws Exception {
 3        InternetAddress[] auditTrail = InternetAddress.parse(
 4            PropsUtil.get(PropsKeys.MAIL_AUDIT_TRAIL));
 5
 6        if (auditTrail.length > 0) {
 7            InternetAddress[] bcc = mailMessage.getBCC();
 8
 9            if (bcc != null) {
10                InternetAddress[] allBCC = new InternetAddress[
11                    bcc.length + auditTrail.length];
12
13                ArrayUtil.combine(bcc, auditTrail, allBCC);
14
15                mailMessage.setBCC(allBCC);
16            }
17            else {
18                mailMessage.setBCC(auditTrail);
19            }
20        }
21
22        MailEngine.send(mailMessage);
23    }
</pre>
<br />
Zde se pouziva navic pouze mail.audit.trail z portal.properties:
<pre>
1
2    #
3    # Input a list of comma delimited email addresses that will receive a BCC of
4    # every email sent through the mail server.
5    #
6    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
Martin Kučerák
RE: Liferay mail API - error
December 31, 2010 3:32 AM
Answer

Martin Kučerák

Rank: New Member

Posts: 23

Join Date: March 10, 2010

Recent Posts

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
Tomas Polesovsky
RE: Liferay mail API - error
January 3, 2011 5:37 AM
Answer

Tomas Polesovsky

LIFERAY STAFF

Rank: Liferay Master

Posts: 577

Join Date: February 13, 2009

Recent Posts

Njn, Vanoce emoticon
Martin Kučerák
RE: Liferay mail API - error
January 13, 2011 4:25 AM
Answer

Martin Kučerák

Rank: New Member

Posts: 23

Join Date: March 10, 2010

Recent Posts

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