{"id":916,"date":"2018-12-11T12:27:59","date_gmt":"2018-12-11T12:27:59","guid":{"rendered":"https:\/\/www.nicktailor.com\/?p=916"},"modified":"2022-10-21T12:07:32","modified_gmt":"2022-10-21T12:07:32","slug":"smtp-auth-relay-with-postfix","status":"publish","type":"post","link":"https:\/\/nicktailor.com\/tech-blog\/smtp-auth-relay-with-postfix\/","title":{"rendered":"SMTP auth relay with postfix"},"content":{"rendered":"<div class=\"pmdi_content_wrapper\">\n<p class=\"Normal-P\" style=\"margin-bottom: 18pt; background-color: #ffffff; direction: ltr; unicode-bidi: normal;\"><span class=\"Normal-H\"><span style=\"font-family: Arial; color: #404040; font-size: 12pt;\">In case that your SMTP server has authentication (like Gmail), <\/span><span style=\"font-family: Arial; color: #404040; font-size: 12pt;\">For this <\/span><span style=\"font-family: Arial; color: #404040; font-size: 12pt;\">purpose<\/span><span style=\"font-family: Arial; color: #404040; font-size: 12pt;\"> we will use\u00a0<\/span><span style=\"border: solid #E1E4E5 0.75pt; padding: 0;\"><span style=\"background-color: #ffffff; font-family: Consolas; color: #e74c3c; font-size: 9pt;\">Postfix<\/span><\/span><span style=\"font-family: Arial; color: #404040; font-size: 12pt;\">. I<\/span><\/span><\/p>\n<p class=\"Normal-P\" style=\"margin-bottom: 18pt; background-color: #ffffff; direction: ltr; unicode-bidi: normal;\"><span class=\"Normal-H\"><span style=\"font-family: Arial; color: #404040; font-size: 12pt;\">I<\/span><span style=\"font-family: Arial; color: #404040; font-size: 12pt;\">nstall the needed packages:<\/span><\/span><\/p>\n<p>Ubuntu<\/p>\n<div class=\"highlight-default\">\n<div class=\"highlight\">\n<pre><span class=\"n\">apt<\/span><span class=\"o\">-<\/span><span class=\"n\">get<\/span> <span class=\"n\">install<\/span> <span class=\"n\">postfix<\/span> <span class=\"n\">mailutils<\/span> <span class=\"n\">libsasl2<\/span><span class=\"o\">-<\/span><span class=\"mi\">2<\/span> <span class=\"n\">ca<\/span><span class=\"o\">-<\/span><span class=\"n\">certificates<\/span> <span class=\"n\">libsasl2<\/span><span class=\"o\">-<\/span><span class=\"n\">modules<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<p>CentOS<\/p>\n<div class=\"highlight-default\">\n<div class=\"highlight\">\n<pre><span class=\"n\">yum<\/span> <span class=\"n\">update<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"n\">yum<\/span> <span class=\"n\">install<\/span> <span class=\"n\">postfix<\/span> <span class=\"n\">mailx<\/span> <span class=\"n\">cyrus<\/span><span class=\"o\">-<\/span><span class=\"n\">sasl<\/span> <span class=\"n\">cyrus<\/span><span class=\"o\">-<\/span><span class=\"n\">sasl<\/span><span class=\"o\">-<\/span><span class=\"n\">plain<\/span><\/pre>\n<\/div>\n<\/div>\n<ul>\n<li id=\"pmdi_list_1_0\" class=\"Normal-P\" style=\"margin-bottom: 9pt; background-color: #ffffff; direction: ltr; unicode-bidi: normal; margin-left: 18pt;\" data-numid=\"1\"><span class=\"Normal-H\"><span style=\"font-family: Arial; color: #404040; font-size: 12pt;\">Set Postfix config file\u00a0<\/span><span style=\"border: solid #E1E4E5 0.75pt; padding: 0;\"><span style=\"background-color: #ffffff; font-family: Consolas; color: #e74c3c; font-size: 9pt;\">\/etc\/postfix\/main.cf<\/span><\/span><span style=\"font-family: Arial; color: #404040; font-size: 12pt;\">. Add <\/span><span style=\"font-family: Arial; color: #404040; font-size: 12pt;\">this lines<\/span><span style=\"font-family: Arial; color: #404040; font-size: 12pt;\"> to the end of the file:<\/span><\/span><\/li>\n<\/ul>\n<ol class=\"arabic\">\n<li>\n<p class=\"first\">Set Postfix config file\u00a0<code class=\"docutils literal\"><span class=\"pre\">\/etc\/postfix\/main.cf<\/span><\/code>. Add this lines to the end of the file:<\/p>\n<blockquote>\n<div>\n<p>Ubuntu<\/p>\n<div class=\"highlight-default\">\n<div class=\"highlight\">\n<pre><span class=\"n\">relayhost<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"n\">smtp<\/span><span class=\"o\">.<\/span><span class=\"n\">gmail<\/span><span class=\"o\">.<\/span><span class=\"n\">com<\/span><span class=\"p\">]:<\/span><span class=\"mi\">587<\/span>\r\n<span class=\"n\">smtp_sasl_auth_enable<\/span> <span class=\"o\">=<\/span> <span class=\"n\">yes<\/span>\r\n<span class=\"n\">smtp_sasl_password_maps<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">hash<\/span><span class=\"p\">:<\/span><span class=\"o\">\/<\/span><span class=\"n\">etc<\/span><span class=\"o\">\/<\/span><span class=\"n\">postfix<\/span><span class=\"o\">\/<\/span><span class=\"n\">sasl_passwd<\/span>\r\n<span class=\"n\">smtp_sasl_security_options<\/span> <span class=\"o\">=<\/span> <span class=\"n\">noanonymous<\/span>\r\n<span class=\"n\">smtp_tls_CAfile<\/span> <span class=\"o\">=<\/span> <span class=\"o\">\/<\/span><span class=\"n\">etc<\/span><span class=\"o\">\/<\/span><span class=\"n\">ssl<\/span><span class=\"o\">\/<\/span><span class=\"n\">certs<\/span><span class=\"o\">\/<\/span><span class=\"n\">thawte_Primary_Root_CA<\/span><span class=\"o\">.<\/span><span class=\"n\">pem<\/span>\r\n<span class=\"n\">smtp_use_tls<\/span> <span class=\"o\">=<\/span> <span class=\"n\">yes<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<p>CentOS<\/p>\n<div class=\"highlight-default\">\n<div class=\"highlight\">\n<pre><span class=\"n\">relayhost<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"n\">smtp<\/span><span class=\"o\">.<\/span><span class=\"n\">gmail<\/span><span class=\"o\">.<\/span><span class=\"n\">com<\/span><span class=\"p\">]:<\/span><span class=\"mi\">587<\/span>\r\n<span class=\"n\">smtp_sasl_auth_enable<\/span> <span class=\"o\">=<\/span> <span class=\"n\">yes<\/span>\r\n<span class=\"n\">smtp_sasl_password_maps<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">hash<\/span><span class=\"p\">:<\/span><span class=\"o\">\/<\/span><span class=\"n\">etc<\/span><span class=\"o\">\/<\/span><span class=\"n\">postfix<\/span><span class=\"o\">\/<\/span><span class=\"n\">sasl_passwd<\/span>\r\n<span class=\"n\">smtp_sasl_security_options<\/span> <span class=\"o\">=<\/span> <span class=\"n\">noanonymous<\/span>\r\n<span class=\"n\">smtp_tls_CAfile<\/span> <span class=\"o\">=<\/span> <span class=\"o\">\/<\/span><span class=\"n\">etc<\/span><span class=\"o\">\/<\/span><span class=\"n\">ssl<\/span><span class=\"o\">\/<\/span><span class=\"n\">certs<\/span><span class=\"o\">\/<\/span><span class=\"n\">ca<\/span><span class=\"o\">-<\/span><span class=\"n\">bundle<\/span><span class=\"o\">.<\/span><span class=\"n\">crt<\/span>\r\n<span class=\"n\">smtp_use_tls<\/span> <span class=\"o\">=<\/span> <span class=\"n\">yes<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/blockquote>\n<\/li>\n<li>\n<p class=\"first\">Configure email address and password:<\/p>\n<blockquote>\n<div>\n<div class=\"highlight-default\">\n<div class=\"highlight\">\n<pre><span class=\"n\">echo<\/span> <span class=\"p\">[<\/span><span class=\"n\">smtp<\/span><span class=\"o\">.<\/span><span class=\"n\">gmail<\/span><span class=\"o\">.<\/span><span class=\"n\">com<\/span><span class=\"p\">]:<\/span><span class=\"mi\">587<\/span> <span class=\"n\">USERNAME<\/span><span class=\"nd\">@gmail<\/span><span class=\"o\">.<\/span><span class=\"n\">com<\/span><span class=\"p\">:<\/span><span class=\"n\">PASSWORD<\/span> <span class=\"o\">&gt;<\/span> <span class=\"o\">\/<\/span><span class=\"n\">etc<\/span><span class=\"o\">\/<\/span><span class=\"n\">postfix<\/span><span class=\"o\">\/<\/span><span class=\"n\">sasl_passwd<\/span>\r\n<span class=\"n\">postmap<\/span> <span class=\"o\">\/<\/span><span class=\"n\">etc<\/span><span class=\"o\">\/<\/span><span class=\"n\">postfix<\/span><span class=\"o\">\/<\/span><span class=\"n\">sasl_passwd<\/span>\r\n<span class=\"n\">chmod<\/span> <span class=\"mi\">400<\/span> <span class=\"o\">\/<\/span><span class=\"n\">etc<\/span><span class=\"o\">\/<\/span><span class=\"n\">postfix<\/span><span class=\"o\">\/<\/span><span class=\"n\">sasl_passwd<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/blockquote>\n<\/li>\n<li>\n<p class=\"first\">Secure DB password<\/p>\n<blockquote>\n<div>\n<div class=\"highlight-default\">\n<div class=\"highlight\">\n<pre><span class=\"n\">chown<\/span> <span class=\"n\">root<\/span><span class=\"p\">:<\/span><span class=\"n\">root<\/span> <span class=\"o\">\/<\/span><span class=\"n\">etc<\/span><span class=\"o\">\/<\/span><span class=\"n\">postfix<\/span><span class=\"o\">\/<\/span><span class=\"n\">sasl_passwd<\/span> <span class=\"o\">\/<\/span><span class=\"n\">etc<\/span><span class=\"o\">\/<\/span><span class=\"n\">postfix<\/span><span class=\"o\">\/<\/span><span class=\"n\">sasl_passwd<\/span><span class=\"o\">.<\/span><span class=\"n\">db<\/span>\r\n<span class=\"n\">chmod<\/span> <span class=\"mi\">0600<\/span> <span class=\"o\">\/<\/span><span class=\"n\">etc<\/span><span class=\"o\">\/<\/span><span class=\"n\">postfix<\/span><span class=\"o\">\/<\/span><span class=\"n\">sasl_passwd<\/span> <span class=\"o\">\/<\/span><span class=\"n\">etc<\/span><span class=\"o\">\/<\/span><span class=\"n\">postfix<\/span><span class=\"o\">\/<\/span><span class=\"n\">sasl_passwd<\/span><span class=\"o\">.<\/span><span class=\"n\">db<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/blockquote>\n<\/li>\n<li>\n<p class=\"first\">Reload Postfix<\/p>\n<blockquote>\n<div>\n<div class=\"highlight-default\">\n<div class=\"highlight\">\n<pre><span class=\"n\">systemctl<\/span> <span class=\"n\">reload<\/span> <span class=\"n\">postfix<\/span><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/blockquote>\n<\/li>\n<\/ol>\n<ul>\n<li id=\"pmdi_list_1_0\" class=\"Normal-P\" style=\"background-color: #fcfcfc; direction: ltr; unicode-bidi: normal;\" data-numid=\"1\">\n<p class=\"first\">Test you configuration with:<\/p>\n<blockquote>\n<div>\n<div class=\"highlight-default\">\n<div class=\"highlight\">\n<pre><span class=\"n\">echo<\/span> <span class=\"s2\">\"Test mail from postfix\"<\/span> <span class=\"o\">|<\/span> <span class=\"n\">mail<\/span> <span class=\"o\">-<\/span><span class=\"n\">s<\/span> <span class=\"s2\">\"Test Postfix\"<\/span> <span class=\"n\">you<\/span><span class=\"nd\">@example<\/span><span class=\"o\">.<\/span><span class=\"n\">com\r\necho <span class=\"s2\">\"Test mail from postfix\"<\/span> <span class=\"o\">|<\/span> mail <span class=\"o\">-<\/span>s <span class=\"s2\">\"Test Postfix\"<\/span> -r someone@whatever.com you<span class=\"nd\">@example<\/span><span class=\"o\">.<\/span>com <em><strong>(this is if your reply address has to come from a specific sender)<\/strong><\/em><\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<p>You should receive an email on\u00a0<code class=\"docutils literal\"><span class=\"pre\">you@example.com<\/span><\/code><\/p>\n<\/div>\n<\/blockquote>\n<\/li>\n<\/ul>\n<p class=\"Normal-P\" style=\"background-color: #ffffff; direction: ltr; unicode-bidi: normal; margin-left: 36pt;\"><span class=\"Normal-H\"><span style=\"font-family: Arial; color: #404040; font-size: 12pt;\">You should receive an email on\u00a0<\/span><span style=\"border: solid #E1E4E5 0.75pt; padding: 0;\"><span style=\"background-color: #ffffff; font-family: Consolas; color: #e74c3c; font-size: 9pt;\">you@example.com<\/span><\/span><\/span><\/p>\n<p class=\"Normal-P\" style=\"direction: ltr; unicode-bidi: normal;\"><span class=\"Normal-H\"><em><strong>Note: If you are using centos 7, which uses systemD. You will find that postfix doesn\u2019t send maillogs to \/var\/log\/maillog. Someone decided it would be a great idea to send it to the journaler instead.<\/strong><\/em><span style=\"display: block;\"><span style=\"display: none;\">&#8230;<\/span><\/span><\/span><\/p>\n<p class=\"Normal-P\" style=\"direction: ltr; unicode-bidi: normal;\"><span class=\"Normal-H\">In order to find your mail logs and or tail the logs for postfix.<\/span><\/p>\n<ul style=\"list-style-type: disc; ;margin-left: 20px;\">\n<li id=\"pmdi_list_2_0\" class=\"ListParagraph-P\" style=\"direction: ltr; unicode-bidi: normal;\" data-numid=\"2\"><em><span style=\"text-decoration: underline;\"><strong><span class=\"ListParagraph-H\">Journalctl -u postfix (view all logs)<\/span><\/strong><\/span><\/em><\/li>\n<li id=\"pmdi_list_2_0\" class=\"ListParagraph-P\" style=\"direction: ltr; unicode-bidi: normal;\" data-numid=\"2\"><em><span style=\"text-decoration: underline;\"><strong><span class=\"ListParagraph-H\">Journalctl -u postfix -f (to tail the mail logs)<\/span><\/strong><\/span><\/em><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In case that your SMTP server has authentication (like Gmail), For this purpose we will use\u00a0Postfix. I Install the needed packages: Ubuntu apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules CentOS yum update &amp;&amp; yum install postfix mailx cyrus-sasl cyrus-sasl-plain Set Postfix config file\u00a0\/etc\/postfix\/main.cf. Add this lines to the end of the file: Set Postfix config file\u00a0\/etc\/postfix\/main.cf. Add this lines to<a href=\"https:\/\/nicktailor.com\/tech-blog\/smtp-auth-relay-with-postfix\/\" class=\"read-more\">Read More &#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[58,138,60],"tags":[],"class_list":["post-916","post","type-post","status-publish","format-standard","hentry","category-centos","category-linux","category-mailstuff"],"_links":{"self":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts\/916","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/comments?post=916"}],"version-history":[{"count":2,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts\/916\/revisions"}],"predecessor-version":[{"id":918,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts\/916\/revisions\/918"}],"wp:attachment":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/media?parent=916"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/categories?post=916"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/tags?post=916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}