Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

About Custom Email Step and Day CQ Mail Service

k_ra
Level 2
Level 2

I have written a custom email step in which I am using "email.setFrom(emailId)" to set the from email address for it but I see that it's not sending the mail from the from address I set using that snippet. It's actually picking up the smtp user from the Day CQ Mail Service and sending it from his email address. I am confused about it. Is it working as expected? Can anyone explain and confirm it?

Thanks

3 Replies
Arun_Patidar
Community Advisor
Community Advisor

No, It should send mail from the email address which you are setting in code e.g. email.setFrom("abc.xyz@forum.com")

Please check below

Adobe Experience Manager Help | Creating custom AEM workflow steps that send email messages

k_ra
Level 2
Level 2

Tried it many times still, its sends from SMTP user's mail address only. email.setFrom() doesn't work. The snippet I am using is below,

Email email = new SimpleEmail();

MessageGateway<Email> messageGateway = messageGatewayService.getGateway(Email.class);

email.setSubject(subject);

email.addTo(emailId);

email.setContent(emailMessage, "text/html; charset=utf-8");

email.setFrom("xyz@gmail.com");

messageGateway.send((Email) email);

AshokPelluru
Level 1
Level 1

Just for confirmation, I hope you are using org.apache.commons.mail.HtmlEmail or org.apache.commons.mail.SimpleEmail.

we were using since years which is working fine.

final Class<? extends Email> mailType = templatePath.endsWith(".html") ? HtmlEmail.class : SimpleEmail.class;

final Email email = mailTemplate.getEmail(StrLookup.mapLookup(params), mailType);

email.setFrom(params.get("senderEmailAddress"));

email.setTo(recipients);

final MessageGateway<Email> messageGateway = messageGatewayService.getGateway(mailType);

messageGateway.send(email);

k_ra
Level 2
Level 2

"email.setFrom("xyz@gmail.com","kira")"

If I use this method it will still trigger the mail from SMTP user mail address and use the name "kira" which I entered here in this snippet. (i.e from address in the mail will be "kira <STMP mail address instead of the mail address I provide in the snippet>")

ruchim
Level 2
Level 2

We are facing the same issue. Were you able to find a fix for this?

ruchim
Level 2
Level 2

This seems to be an issue if we use google SMTP. I tried with the settings of a fake smtp server and it worked fine.