簡體   English   中英

錯誤:{EmailSend} - {api:EmailMicroService} 發送 email 時出錯

[英]ERROR: {EmailSend} - {api:EmailMicroService} Error occurred while sending the email

場景我在 wso2 的 Email 連接器的幫助下,通過不安全的 smtp 服務器連接發送 email。

聯系

<?xml version="1.0" encoding="UTF-8"?>
<localEntry key="unSecureConn" xmlns="http://ws.apache.org/ns/synapse">
    <email.init>
        <requireAuthentication>true</requireAuthentication>
        <connectionType>SMTP</connectionType>
        <password>XXXXX</password>
        <host>smtp.XXXX.com</host>
        <port>25</port>
        <name>unSecureConn</name>
        <username>XXXXXX</username>
    </email.init>
</localEntry>

API:

<?xml version="1.0" encoding="UTF-8"?>
<api context="/email" name="EmailMicroService" port="8290" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="POST" uri-template="/send">
        <inSequence>
            <log level="full"/>
            <email.send configKey="unSecureConn">
                <from>{json-eval($.from)}</from>
                <to>{json-eval($.to)}</to>
                <subject>{json-eval($.subject)}</subject>
                <content>{json-eval($.content)}</content>
                <contentType>{json-eval($.contentType)}</contentType>
                <attachments>{json-eval($.attachments)}</attachments>
            </email.send>
            <respond/>
        </inSequence>
        <outSequence/>
        <faultSequence/>
    </resource>
</api>

問題我面臨中繼訪問被拒絕的問題。 雖然我們的 smtp 服務器在登錄到服務器的用戶門戶時正在發送電子郵件。 然而,對於 wso2 連接器,我們面臨以下問題:

[2022-11-16 13:55:17,526] ERROR {EmailSend} - {api:EmailMicroService} Error occurred while sending the email with subject hi to ayub.jamal@XXXX.com. org.wso2.carbon.connector.exception.EmailConnectionException: Error occurred while sending the email with subject hi to ayub.jamal@XXXX.com.
        at org.wso2.carbon.connector.operations.EmailSend.sendMessage(EmailSend.java:116)
        at org.wso2.carbon.connector.operations.EmailSend.connect(EmailSend.java:59)
        at org.wso2.carbon.connector.core.AbstractConnector.mediate(AbstractConnector.java:32)
        at org.apache.synapse.mediators.ext.ClassMediator.updateInstancePropertiesAndMediate(ClassMediator.java:178)
        at org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:97)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:110)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:72)
        at org.apache.synapse.mediators.template.TemplateMediator.mediate(TemplateMediator.java:136)
        at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:170)
        at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:93)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:110)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:72)
        at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
        at org.apache.synapse.api.Resource.process(Resource.java:342)
        at org.apache.synapse.api.API.process(API.java:477)
        at org.apache.synapse.api.AbstractApiHandler.apiProcess(AbstractApiHandler.java:93)
        at org.apache.synapse.api.AbstractApiHandler.dispatchToAPI(AbstractApiHandler.java:71)
        at org.apache.synapse.api.rest.RestRequestHandler.dispatchToAPI(RestRequestHandler.java:90)
        at org.apache.synapse.api.rest.RestRequestHandler.process(RestRequestHandler.java:76)
        at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:54)
        at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:344)
        at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:101)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
        at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:376)
        at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:435)
        at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183)
        at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: javax.mail.SendFailedException: Invalid Addresses;
  nested exception is:
        com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 <ayub.jamal@XXXX.com>: Relay access denied

        at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:2079)
        at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1301)
        at javax.mail.Transport.send0(Transport.java:255)
        at javax.mail.Transport.send(Transport.java:124)
        at org.wso2.carbon.connector.operations.EmailSend.sendMessage(EmailSend.java:135)
        at org.wso2.carbon.connector.operations.EmailSend.sendMessage(EmailSend.java:110)
        ... 29 more
Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 <ayub.jamal@XXXX.com>: Relay access denied

        at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1979)
        ... 34 more

嘗試將以下參數添加到 init.

<requireTLS>false</requireTLS>

以下是您可以為init操作設置的所有參數。 因此,根據您的 SMTP 服務器,您可能必須設置適當的參數。

<parameter name="host" description="Host name of the mail server"/>
<parameter name="port" description="The port number of the mail server"/>
<parameter name="name" description="Unique name the connection is identified by"/>
<parameter name="username" description="Username used to connect with the mail server"/>
<parameter name="password" description="Password to connect with the mail server"/>
<parameter name="connectionType" description="Email connection type (protocol) that should be used to establish the connection with the server"/>
<parameter name="readTimeout" description="The socket read timeout value"/>
<parameter name="connectionTimeout" description="The socket connection timeout value"/>
<parameter name="writeTimeout" description="The socket write timeout value"/>
<parameter name="requireTLS" description="Whether the connection should be established using TLS"/>
<parameter name="checkServerIdentity" description="Whether server identity should be checked"/>
<parameter name="trustedHosts" description="Comma separated string of trust host names"/>
<parameter name="sslProtocols" description="Comma separated string of SSL protocol"/>
<parameter name="cipherSuites" description="Comma separated string of Cipher Suites"/>
<parameter name="maxActiveConnections" description="Maximum number of active connections in the pool"/>
<parameter name="maxIdleConnections" description="Maximum number of idle connections in the pool"/>
<parameter name="maxWaitTime" description="Maximum time to wait for a pooled component to become available"/>
<parameter name="minEvictionTime" description="The minimum amount of time an object may sit idle in the pool before it is eligible for eviction"/>
<parameter name="evictionCheckInterval" description="The number of milliseconds between runs of the object evictor"/>
<parameter name="exhaustedAction" description="The behavior of the pool when the pool is exhausted."/>
<parameter name="requireAuthentication" description="Whether authentication is required for SMTP server."/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM