#1524  Sending mail fails because of bogus EHLO command
Released
Bernhard Rosenkränzer opened 8 months ago

Sending mail from onedev 9.0.4 in a fresh setup fails because onedev seems to send its IP address rather than a FQDN with the EHLO/HELO commands.

The Server URL and SSH Root URL are all configured to include the proper hostname of the onedev installation; if there is a setting to configure the host name sent with EHLO/HELO somewhere, I couldn't find it.

Testing the mail setup in onedev shows:

Sending test mail to code+test~subaddressing@lindev.ch...
java.lang.RuntimeException: javax.mail.MessagingException: 504 5.5.2 <2a01:2a8:8108:8301:883f:317d:bdd7:2baa>: Helo command rejected: need fully-qualified hostname
    
    	at io.onedev.server.mail.DefaultMailManager.sendMail(DefaultMailManager.java:319)
    	at io.onedev.server.web.page.admin.mailsetting.MailSettingPage$2.lambda$runTask$1(MailSettingPage.java:107)
    	at io.onedev.server.persistence.DefaultSessionManager.call(DefaultSessionManager.java:90)
    	at io.onedev.server.web.page.admin.mailsetting.MailSettingPage$2.runTask(MailSettingPage.java:87)
    	at io.onedev.server.web.component.taskbutton.TaskButton$2.call(TaskButton.java:174)
    	at io.onedev.server.web.component.taskbutton.TaskButton$2.call(TaskButton.java:145)
    	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    	at io.onedev.server.security.SecurityUtils$1.run(SecurityUtils.java:335)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    	at java.base/java.lang.Thread.run(Thread.java:1623)
    Caused by: javax.mail.MessagingException: 504 5.5.2 <2a01:2a8:8108:8301:883f:317d:bdd7:2baa>: Helo command rejected: need fully-qualified hostname
    
    	at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:2324)
    	at com.sun.mail.smtp.SMTPTransport.helo(SMTPTransport.java:1678)
    	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:746)
    	at javax.mail.Service.connect(Service.java:388)
    	at javax.mail.Service.connect(Service.java:246)
    	at javax.mail.Service.connect(Service.java:195)
    	at javax.mail.Transport.send0(Transport.java:254)
    	at javax.mail.Transport.send(Transport.java:124)
    	at io.onedev.server.mail.DefaultMailManager.sendMail(DefaultMailManager.java:317)
    	... 10 more

The mail server's log shows IMAP logins from onedev succeeding, while SMTP connections succeed but are dropped after a rejected EHLO command followed by a rejected HELO command.

Aug 29 03:30:55 mail.lindev.ch postfix/submission/smtpd[1670485]: connect from unknown[81.221.122.240]
Aug 29 03:31:03 mail.lindev.ch postfix/submission/smtpd[1670485]: NOQUEUE: reject: EHLO from unknown[81.221.122.240]: 504 5.5.2 <2a01:2a8:8108:8301:883f:317d:bdd7:2baa>: Helo command rejected: need fully-qualified hostname; proto=SMTP helo=<2a01:2a8:8108:8301:883f:317d>
Aug 29 03:31:03 mail.lindev.ch postfix/submission/smtpd[1670485]: NOQUEUE: reject: HELO from unknown[81.221.122.240]: 504 5.5.2 <2a01:2a8:8108:8301:883f:317d:bdd7:2baa>: Helo command rejected: need fully-qualified hostname; proto=SMTP helo=<2a01:2a8:8108:8301:883f:317d>
OneDev changed state to 'Closed' 8 months ago
Previous Value Current Value
Open
Closed
OneDev commented 8 months ago

State changed as code fixing the issue is committed (eba9121f)

Referenced from commit 8 months ago
OneDev changed state to 'Released' 8 months ago
Previous Value Current Value
Closed
Released
OneDev commented 8 months ago

State changed as build #4039 is successful

issue 1 of 1
Type
Bug
Priority
Normal
Assignee
Affected Versions
9.0.4
Labels
No labels
Issue Votes (0)
Watchers (3)
Reference
onedev/server#1524
Please wait...
Page is in error, reload to recover