Tag Info

New answers tagged

0

< bot >Convert comment to answer< /bot > All evidence so far is pointing to a client-side problem, so I'll just leave it at that. Additional info: According to this page, there are 9 steps to establish secure channel Step 1: Client sends ClientHello message proposing SSL options. Step 2: Server responds with ServerHello message selecting the SSL ...


1

I have similar problem with yours. Pre-queue requirement left us to three option SMTP access policy delegation Milter program SMTPD proxy Because we are only checking recipient, then SMTP access policy delegation would be suffice. Milter and SMTPD Proxy was used if we need access to header and body too. My checker script was provided by developer. The ...


5

On Debian, postfix doesn't read /etc/services, but expects these files to exist in the queue_directory (usually /var/spool/postfix). So it is actually trying to read /var/spool/postfix/etc/services, which either doesn't exist or is corrupted. Try recreating this file, or better yet just link it (if you aren't running postfix in a chroot). sudo ln -snf ...


0

General solution If you have another server, then the solution was trivial. Supposedly, the another box is called second.example.com. On your original box, set in main.cf a relayhost to second.example.com relayhost = [second.example.com]:25 In second.example.com, set header_checks to checks if the email was likely a spam, either by checking the SPAM ...


1

< bot >Summarize the comments to answer section< /bot > Maillog entry lost connection after DATA (0 bytes) means that your client disconnect itself after postfix announce DATA in SMTP transaction. In normal transaction, client would send the header and body of emails after DATA. Your client behavior was abnormal because it disconnect without send ...


0

Disclaimer: this answer won't work as intended when process email which had multiple recipients with both internal and external domain in it With postfix multi instance, the solution would be trivial. Just setup transport_maps to second instance, then do rewriting in second instance. Without multiple instance, you need two smptd processes, two cleanup ...


0

This is expected behavior from postfix. Virtual Alias will be checked first before any other alias. So the catchall of example.com /opt/local/etc/postfix/virtual_alias will routes your email before /opt/local/etc/postfix/virtual_mailbox. In your case johndoe+catch_org will recursively mapped to virtual_alias again so it will matched with johndoe+catch_com. ...


1

Actually, this sieve capabilities is similar function with email forwarding in MTA level. One exception is the copy parameter in sieve can keep email in user inbox while at the same time forward it to another email. The forwarding email won't modify sender where the emails come from, it just modify the recipient envelope address. Usually the forwarding ...


2

You're probably not sharing the same mailbox location/folder and/or mailbox delivery style (MBOX vs. MDIR) in both Postfix and Dovecot. As a result, Postfix is (correctly) writing under "/home/mailuser/Maildir" (where you see your mail arriving, under the "new" subfolder), but as dovecot is searching somewhere else... it doesn't find such mails (so you get a ...


0

It looks like ,no_milters option in content filter destination prevents running milter twice - before and after content filter. You could remove ,no_milters option. The result is as follows: opendkim can now verify emails milter runs twice on outgoing mail, so you have 2 dkim signatures in your mails Should you get back ,no_milters option, opendkim can ...


2

Based on the comments above, looks like you confused about the MX record. Usually, MX record was used to determine where I (mail server) should send outgoing email intended to particular domain. When a remote server receive an email, they would perform sender identification. For example server would check SPF record of sender domain to determine that an IP ...


2

Your problem is not related to Postfix, it's related to the policyd-weight configuration. policyd-weight uses reasonable defaults. However, if you ever decided to give policyd-weight a configuration file, this might cause a problem after an update and changed configs. I'd recommend having a look in /usr/local/etc for a policyd-weight.conf or in /etc or ...


1

I got it working 100% I considered deleting this questions since it had no comments or answers but after spending nearly 8 hours on setting up this mail server...I just couldn't do it as this might very well help others searching for the answer to this problem. My searches revealed that many people have had this problem and there isn't many answers to it! ...


1

Instead of overriding local_transport with your hookpickup, you can setup transport_maps. #main.cf transport_maps = hash:/etc/postfix/mytransport #/etc/postfix/mytransport extract@localhost hookpickup: In this mode, just email send out to extract@localhost will be delivered to hookpickup


4

You'll use the relayhost option in main.cf in your office email server. E.g. relayhost = mailserver.amazingvps.com:25 You probably also want to use smtp_use_tls=yes and smtp_sasl_auth_enable = yes when logging in to your VPS relayhost. Open relays are bad, mmkay?


4

You need a PTR record that resolves 128.199.39.109 to the hostname of your sending server. Might also want to look into SPF records for your domain too.


2

When I try to send email to @gmail address the DSN has value of 2.0.0, but when I put my dorporate e-mail address it says 2.6.0. 2.x.x is a successful delivery, so your email is being accepted and queued for delivery by the remote mail server. Can someone please give some explanation on this? I have a theory that corporate mail server is somehow ...


1

I need to be able to do this conditionally, meaning only on a specific occasion, which I can identify by looking at the other headers, I want to remove the Message-ID. No you can't do it with header_checks. Postfix examines the rules on one header line at a time. In other words, the you can't modify one header line based on another header line. See man 5 ...


2

This maillog line macmini.example.com postfix/smtp[5173]: 58C3C23A2129: to=<myself@outside.example.net>, relay=smtpcorp.com[216.22.15.247]:25, delay=2.1, delays=1/0.02/0.9/0.16, dsn=5.0.0, status=bounced (host smtpcorp.com[216.22.15.247] said: 550-MDR refused, to send MAIL FROM: <> use both IP-address and password 550 xxxx.xxxx.xxxx.xxxx/32 (in ...


2

You are almost certainly running into mis-matched DNS entries. In your case using IPv6 transport, the AAAA and PTR records must match for the source address(es) of an MTA, also matching the EHLO name you are claiming to be.


8

As I can see, your expectation is user can't send behalf other user because you put reject_sender_login_mismatch in smtpd_sender_restrictions. Yes, that should work. Unfortunately, you put reject_sender_login_mismatch after permit_sasl_authenticated. Based on postfix logic, if your client successfully login via SASL, it won't checked against ...


2

Postfix multi instance is a postfix feature that you are looking for. You need two instance. First instance was null client instance. It will act as system to handle email from PHP apps. Configuration of this instance looks like the describe in this documentation except you must add this parameter smtp_bind_address = my.first.ip.address Second instance ...


6

TLDR: Your TLS protocols is too strict because you only allow TLSv1.2 connection. smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1 smtpd_tls_protocols=!SSLv2,!TLSv1,!TLSv1.1,!SSLv3 And GMAIL send email to your server with TLSv1 protocol. That's why TLS negotiation fails. The obvious solution is allowing TLSv1 and TLSv1.1 protocols and still ...


1

Your question can be expressed by this pseudocode if (client == dev1 OR client == dev2) if recipient == admin pass it else redirect to devbox else pass it Unfortunately, postfix doesn't have generic language (example vcl for varnish configuration) for handle the restriction and forwarding. So, we can try to solve it with hash ...


1

I am no expert on this but I have been messing with Postfix myself recently and may be able to at least push you in the right direction. With postfix you can use aliases and map say one address or a bunch of addresses to another. What you will likely want is the recipient_canonical mapping: http://www.postfix.org/ADDRESS_REWRITING_README.html#canonical ...


0

One potential issue I can see is the apparent use of a self-signed certificate as reported by OpenSSL: Verify return code: 19 (self signed certificate in certificate chain) If you are using a paid SSL certificate, you should not be using a self-signed cert. I would check that your PEM file contains your paid certificate, and also verify that it contains ...


-1

A professional system administrator doesn't work in an environment standing up from hardware and software. The work environment of a professional system administrator stands up from a partially human hierarchy, which means, he must optimize his work in a such heterogeneous system. This is essentially different, and much fewer enjoyable, as optimizing ...


1

Every email received by postfix always be passed to milter. So you shouldn't have worry about it. To do rewriting, you can use recipient_canonical_maps here. In main.cf add this parameter recipient_canonical_maps = hash:/etc/postfix/process2main And in /etc/postfix/process2main add this line me@process.example.com me@example.com This will rewrite ...


3

You notice in your maillog snippet Dec 18 16:43:07 fake postfix/pickup[19544]: 134A96220474: uid=0 from=<root> Dec 18 16:43:07 fake postfix/cleanup[19633]: 134A96220474: message-id=<20141218154307.134A96220474@fake.example.net> Dec 18 16:43:07 fake postfix/qmgr[31295]: 134A96220474: from=<root@fake.example.net>, size=447, nrcpt=1 (queue ...


1

I don't know why this answer was accepted and upvoted.Postfix documentation clearly states that postfix only examines one header line at a time. These rules operate on one logical message header or one body line at a time. A decision made for one line is not carried over to the next line. So, your idea to combine From and To header isn't supported by ...


1

I don't why you set parameter mynetworks is blank. So, please edit the value of parameter mynetworks so it become mynetworks = 127.0.0.1 And your master.cf was messed up too, maybe it is bug in plesk itself... Solution: Comment out this line pickup unix n - - 60 1 pickup Comment out this line qmgr unix n - ...


1

Disclaimer: I'm assuming that you only want to parsing email with mailin and the email won't to delivered to dovecot again. To do that, replace the virtual_transport parameter so it becomes virtual_transport = smtp:[127.0.0.1]:10025 That's it, instead delivering it to dovecot, postfix will pass the email to mailin via SMTP port 10025. [UPDATE] Based ...


2

You could use restriction classes. See: http://www.postfix.net/postconf.5.html#smtpd_restriction_classes http://www.postfix.net/RESTRICTION_CLASS_README.html. For your case Now we have to create two classes, first one for supervisor class and second one for the rest of company. The Setup Define smtpd_restriction_classess in main.cf ...


5

There is "Delivery Status Notification" aka DSN - MTA send a little message to the submitter when LDA occurs. But as far as that functionality has been used by spammers, postmasters turns it off. Some modern MTA like exim doesn't have it at all. From the logs you can know that message from your MTA has been passed to another MTA, but you can't estimate that ...


0

Amavisd uses parameter $inet_socket_bind to specify which binding IP address. The possible value is undef or an IP Address. So, it isn't possible to specify some IP address but not all. The default value is 127.0.0.1, that means amavis only listen on localhost. If you expose amavisd by bind it to public IP address, don't forget to set ACL so you don't allow ...


3

My guess, this header just some meta-information about DKIM processing milter, especially the deprecated dkim-milter. X-DKIM: Sendmail DKIM Filter v2.8.2 DOMAIN SOMEVALUE DOMAIN: Hostname in FQDN format SOMEVALUE: queue ID when this message processed by sendmail For example, X-DKIM header from this question. Received : from localhost ...


26

You can absolutely see in the postfix logs where an email was sent, and whether it was accepted. Here's an example log entry from my mail server which indicates that the message was successfully sent to the Google SMTP servers. Dec 15 14:21:43 ebony postfix/smtp[2422]: D05BB1D872: to=, relay=gmail-smtp-in.l.google.com[74.125.201.27]:25, delay=1.4, ...


3

If you don't have access to the logs of the server you used, you can't prove it for that particular message. Normally, you do get an error message back in case of failure, unless the server thinks it's spam and just discards it. If the server is unreachable, the sending server will keep trying for a couple of days. You'll get a deferred notice after a few ...


6

No, you won't be able to check this. Email is a "best-effort" service. There are no guarantees that any given email will actually be delivered. Usually you will get a notification that delivery has been delayed, but that depends on the email software between you and the recipient. You can check your mail server's log to verify that it got sent, but ...


1

Setup another server and have it receive mail for backup.domain.name. Create all accounts both on the regular server and the backup server. Add individual entries for accounts to the sender and recipient bcc maps. sender_bcc_maps = hash:/etc/postfix/bcc_maps recipient_bcc_maps = hash:/etc/postfix/bcc_maps /etc/postfix/bcc_maps account1@example.com ...


2

I came across this old update from the postfixadmin people that described that "PHP around 5.3.8 includes hex2bin as native function". Fortunately the PHP function apparently does the same as the postconf function so its save to use theirs. You have to edit /var/www/postconf/functions.inc.php and navigate to the hex2bin function in line 1328 and enter this ...


4

This is indeed a limitation inherited from postfix. The reason is that when you're writing to a script by directing deliveries to a pipe, then that counts as a mailbox, just as if you'd written directly to a file. So whatever limits are set on the postfix delivery agent will be inherited by the script. I can think of three ways to get around this: You ...


1

There are a number of ways you could fix this. Change the SMTP setting in php.ini on the web server to use serverB rather than localhost Add aliases to to the postfix config on serverA to redirect new messages to serverB for each of the local addresses you want to handle. Change your PHP code/application config to use qualified addresses which deliver to ...


1

Check the size of the directories APT is using as cache. If it's storing too much, clear it (with root Privilege) using rm -r /var/cache/apt/*.*


3

Postfix refused relay to mydomain.com because isn't listed as local or virtual domain. The first step is define the domain class (postfix.org/ADDRESS_CLASS_README.html). myhostname is the machine name. mydestination is a list with domains hosted and users listed on passwd.


1

Do you really mean that Postfix sends a bounce? Or do you mean it rejects the incoming message with a 5xx code and then the sending MTA sends a bounce? Also, you don't say how policyd is configured - it tells Postfix whether to REJECT (5xx) or DEFER (4xx), and I'm guessing you want the latter so that the sending MTA retries until the user is under quota ...


2

The problem is that Postfix thinks it only should handle mail addressed to the domain localhost. mydestination = localhost Fix this by restoring the default value: mydestination = $myhostname localhost.$mydomain localhost I also note that your postfix configuration has been significantly altered from the defaults (which generally work). I expect you to ...


3

Yes, it's refusing port 587 because the entire section of master.cf is commented out. #submission inet n - - - - smtpd # -o syslog_name=postfix/submission # -o smtpd_tls_security_level=encrypt # -o smtpd_sasl_auth_enable=yes # -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o ...


1

Looks like you confused about Milter, before and after queue filter. Those three items was different from each other. I suggest you to read the documentation about Postfix Milter support, before queue filter and after queue filter. Parameter content_filter indicated that you run AFTER-QUEUE content filter. Snippet about this parameter from Postfix ...


1

The last line in your /etc/postfix/mysql-virtual_email2email.cf should be hosts = 127.0.0.1 instead of host = 127.0.0.1 If we specify 127.0.0.1 postfix should try to connect over TCP but your logline says that postfix cant connect to /var/run/mysqld/mysqld.sock and so it didn't recognize the host = 127.0.0.1 line. Hope that helps.



Top 50 recent answers are included