Citadel Mail Server Rejecting SMTP clients [closed] - outlook

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 2 years ago.
Improve this question
I setup a Citadel Mail Server on a RPI 3B+. I have DNS setup, port forwarding, and port open on firewall. When I enter through the webmail portal, I can send and receive mail just fine. The issue that I am having is with mail clients.
I can use IMAP and POP just fine to receive mail with my credentials just fine also.
Whenever I try to send mail using a client (tried a couple different ones), it fails on sending. Right now, I am not using SSL until I get it working on the basic port. The devices I am trying are local devices that do not pass a firewall. With sender authentication turned on, it always says invalid login even though the same login works for IMAP and POP. Turned off it says it requires a login.
For some reason it rejects logins to send mail even if they are a valid user on the system. Works 100% though with the same user on the webmail portal.
Any ideas on how to get this working? Let me know if more info is required.
I originally asked this question on SuperUser(since when I was going to aks here it directed me there due to it being software instead of code), but never got a reply and found other questions concerning Citadel here.
Also, I will add a bit more info. The original admin account can login fine, but gets and error 530 because it will not let me add an internet email address to that user. I add it and hit save. It goes back to blank everytime. Rebooting does nothing. Adding more users gives original result of not being able to login for smtp.
All users have the checkbox selected to allow internet email and have a internet email address, besides the original admin who I cannot enter an internet email address.
Also, same result for ports 25 and 587 both.

Not fully an answer, but since nobody is responding to this I will add the conclusion I got to when doing more research. Uninstall Citadel and find a tutorial for Postfix and Dovecot for RPI. I have it mostly working, but have a bit of work to do with StartTLS.

A little late for this answer but...
It seems that Citadel will reject SMTP requests on any account that has a password greater than 19 characters. Both IMAP and POP still work for longer passwords.

Related

Which SMTP sever to send Java Mail to when the server is cloud-based?

Java 8 here, although this really is more of a generic Exchange/SMTP question I suppose.
I purchased a domain name and Office 365 support from GoDaddy, and as a result, have several email addresses through them. Let's say one of these is support#myapp.example.com.
I am writing a Java 8 app that will allow users to send emails to this support address (through the app). I will likely use the excellent Simple Java Mail library, which wraps the Java Mail API. And so somewhere in my app there will be some code that looks something like:
Email email = EmailBuilder.startingBlank()
.to("MyApp Help Desk", "support#myapp.example.com")
.withSubject("Support Ticket #12345")
.withPlainText("Something went wrong inside the MyApp!")
.buildEmail();
Mailer mailer = MailerBuilder
.withSMTPServer("smtp.host.com", 587, "user#host.com", "password")
.withTransportStrategy(TransportStrategy.SMTP_TLS)
.withProperty("mail.smtp.sendpartial", true)
.buildMailer();
mailer.sendMail(email);
Pretty straight-forward stuff, right? Except I'm confused about one simple thing: which SMTP server am I using here? Would I use the Microsoft Exchange server that my GoDaddy account provides me, or would I choose something else?
That depends a little bit on what you want to do.
If you just want to make one attempt to send the mail, you connect to the mail server that accepts mail for support#myapp.example.com. It sounds like this is an office365 server owned by Microsoft that accepts mail for myapp.example.com. There should be public DNS records for that domain. I haven't used the Simple Java Mail library, but from your pseudocode, I assume it does the DNS lookups for you.
It sometimes happens that an application encounters errors when trying to send an email. For example, somebody could restart your app server in the middle of the smtp conversation, or reboot your router, or something else. It's pretty common to use a Mail Transfer Agent (MTA) such as Exchange to help make this process more robust. If the MTA fails on the first delivery attempt, it will retry delivery for some configurable period of time. In your case, you could send the email to your Exchange server, and it would route the email to myapp.example.com.
(In this case, Exchange is sort of acting as a Mail Submission Agent (MSA), but that's kind of a nitpick.)
Hope this helps.

Why Sagepay notification reaches some of our servers but not the others

Currently we have a few test servers which connect to test.sagepay.com to process transactions. However, on 2 of the servers, we could successfully register transactions on sagepay, but then we didn't receive any sagepay notification coming back at all. However, on different servers (running on different IP addresses), it is working perfectly fine.
I've got the error code "5006 - Unable to redirect to Vendor's web site. The Vendor failed to provide a RedirectionURL". It used to work perfectly fine on those servers, and only stopped working since last Thursday although we are sure that we didn't touch those servers during that period of time at all. Besides, we do see a few occasional notifications coming in from sage which we believe are the REPEAT notifications, not the original ones. We could see all those transactions registered on our accounts, but of course all of them are failed due to the fact that we haven't got any notification coming back.
And we also do make sure that our firewall is opened for the whole range 195.170.169.* from which we expect to receive the sage notification
So my questions are:
Does Sagepay have some sort of mechanism to block some IP addresses and stop sending back notification?
Is the Sagepay-serer which sends out original notifications different from the one that sends out Repeat notifications?
I've faced the very same issue. Our script was handing https:// address over to SagePay as a NotificationURL, but https was not setup, hence the notification script could not be reached. Once I changed to http and ensured that the notification script response is correct it worked.
Also it seems that when SagePay could not reach RedirectURL it tried 8 more times.
I'm not exactly answering your questions, but perhaps it will help. I'd add this as a comment, but I can't...

Postfix - Forward domain e-mail to personal e-mail with ability to reply as if from domain e-mail

Question
Is it possible with postfix, and if so how, to forward e-mails from a domain e-mail address (E.G: webmaster#theclientsdomain.com) to a personal e-mail account, while retaining the ability to reply from that g-mail account as webmaster#theclientsdomain.com).
Complex solutions, such as using complex address rewriting rules, are O.K (In-fact, I have posted a related question which may form a solution to this question if it is answered).
Context
I'm currently setting up a website for a client, who wants e-mail addresses for their domain, however they do not want mailboxes on the server.
Instead, they want to have the domain addresses forward to their personal addresses.
This is not a problem, and google has shown me how to do this.
The problem comes from the fact they want any replies they send from their personal address to come from the domain address instead, which I have been unable to find out how to do.
Note
I have never set up postfix, or any mail daemon before, so if answers could be tailored for someone with little experience that would be great.

Securing Client Server HTTPS Connection

I have a https connection from Client to Server and a malware in client. The malware modifies the message and compromises its integrity. I am using a proxy to check the Integrity of the message after the malware has changed the message and before sending it over the internet to the server.
Now, How can I check the Integrity of the message (Sure that it has not been modified by any Man in the Middle) for the second half of my communication channel(Which is from Client to the Server over the internet).
I see few conventional approaches of CRC or Checksum will help. But I am looking for some non traditional or upcoming approaches. I am new to this area and want to take expert advise about the direction I need to search for answer to my question.
Any pointers would be of great help.
Thanks,
As I mentioned in your other question, if you have an https session, you can't do this.
If you could do it, it's possible your proxy could be the "man-in-the-middle", which is exactly what SSL is designed to prevent.
Also, it's not clear how you expect the malware on the client side is changing the message - your software can always validate the message before it is sent via SSL, and after it's sent, the only thing that should be able to decode it is the server.
I strongly recommend spending some time learning about specific well known client server security patterns rather than trying to invent your own (or trying to hack apart SSL). A great starting point would be just picking through some questions on http://security.stackexchange.com. (A personal favorite there is this question about how do to password security). There are likely some questions/links you can follow through there to learn more about client-server security (and eventually understand why I'm confused about what it is you're trying to do).
If you are required to make up your own for some reason, a possible (but still hackable with enough determination) way of doing validation is to include a checksum/hashcode based on all the values, and make sure the same checksum can be generated server side from the values. You don't need a "middle" to somehow crack the SSL to do this though - just do the validation on the server side.

Heroku sending outgoing email: IPs in DUL and blocked by Trend micro

We currently need some help setting up email sending from one of our Rails apps via our own Microsoft Exchange SMTP server. It seems that the Heroku IPs are blocked by Trend Micro. We are having this message:
"Your email messages have been blocked by the recipient OR by Trend Micro Email Reputation Service. Contact the recipient or his/her administrator using alternate means to resolve the issue"
What can we do in this case, please give us some guidelines.
Thanks
If you can get around the requirement to use the exchange server that's blocking you, you can just use one of the email add-ons on Heroku. Alternatively, you could maybe use the Proximo add-on to get a static external IP address to send emails from, and then make sure that static IP is whitelisted on your exchange server.

Resources