简体   繁体   中英

How email sending works during user self registration in WSO2 IS?

I checked the axi2.xml file and output-event-adapter.xml file. For email OTP, it is mentioned to configure email in axis2.xml file https://docs.wso2.com/display/IS570/Configuring+Email+OTP .

But for user self-registration, it is asked to configure email in output-event adapter.xml file. https://docs.wso2.com/display/IS570/Self-Registration+and+Account+Confirmation .

Why there are two places for email configuration? How sending email notification works in user self-registration in WSO2 IS 5.7.0?

Thanks in advance!

WSO2IS contains an email sending module with WSO2IS which is based on Axis2. This handles the email notifications in Email OTP.[1,2] Those configurations are stored in axis2.xml.But for instances like Ask Password Account Confirmation and user self-registration. WSO2 Is uses email event adapters[3]. These adapters get the configuration from output-event-adapter.xml.

在 wso2 中使用电子邮件事件适配器的当前电子邮件发送架构在邮件线程 [4] 中有描述

In the above image global adapter configs are defined in the output-event-adapters.xml. And each adapter created per tenant holds a connection with the configured smtp server. When a tenant needs to send an email it publish the content to the relevant stream[5]

This stream creates the mapping to the relevant publisher using the stream wso2 is resolves the publisher. These publishers are defined in

IS-HOME/repository/deployment/server/eventpublishers

these publishers specify the relevant adapter which has a connection with the SMTP server. It sends the email using that connection. This is how email sending handled in user self-registration. This has been further explained in[4]. As WSO2 IS has those two different mechanisms to handle notification you have to configure in two places for email OTP and account confirmation.As WSO2IS deprecating the Axis2 Based notification model.

if you enabled the property

<Parameter name="useEventHandlerBasedEmailSender">true</Parameter> 

As per the documentation[6]. You can use the configurations in the output-event-adapter.xml for email otp. [7] But this supports after identity server 5.8.0 .

1 . https://github.com/wso2-extensions/identity-outbound-auth-email-otp/blob/f6ebf84f35d9da526077a0bfe220665e71baa7ec/component/authenticator/src/main/java/org/wso2/carbon/identity/authenticator/emailotp/EmailOTPAuthenticator.java#L1708

[2]. https://github.com/wso2/carbon-identity-framework/blob/34bb9053787020dbc901d17d7ee4290f075e6542/components/identity-mgt/org.wso2.carbon.identity.mgt/src/main/java/org/wso2/carbon/identity/mgt/mail/DefaultEmailSendingModule.java#L73

[3]. https://github.com/wso2/carbon-analytics-common/blob/5.2.x/components/event-publisher/event-output-adapters/org.wso2.carbon.event.output.adapter.email/src/main/java/org/wso2/carbon/event/output/adapter/email/EmailEventAdapter.java

[4]. http://mail.wso2.org/mailarchive/architecture/2019-September/032587.html

[5]. https://github.com/wso2-extensions/identity-event-handler-notification/blob/master/components/event-handler-notification/org.wso2.carbon.identity.event.handler.notification/src/main/java/org/wso2/carbon/identity/event/handler/notification/DefaultNotificationHandler.java#L284

[6]. https://docs.wso2.com/display/IS580/Configuring+Email+OTP

[7]. https://github.com/wso2-extensions/identity-outbound-auth-email-otp/pull/26/files#diff-868475e354da25fd06fae3b3a9ebe6e5R272

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM