[英]WSO2 API Manager Connection Error , "Error occurred while sending the HEAD request to the given endpoint url"
[英]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.