Net-FullAuto
view release on metacpan or search on metacpan
lib/Net/FullAuto/ISets/Local/EmailServer_is.pm view on Meta::CPAN
'postconf -e "virtual_uid_maps = static:2000"','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'postconf -e "virtual_gid_maps = static:2000"','__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'postconf -e \'smtpd_sasl_auth_enable = yes\'',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'postconf -e \'smtpd_helo_required = yes\'',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'postconf -e \'broken_sasl_auth_clients = yes\'',
'__display__');
#($stdout,$stderr)=$handle->cmd($sudo.
# 'postconf -e \'smtpd_sender_restrictions '.
# '= permit_mynetworks, permit_sasl_authenticated, '.
# 'reject_unknown_sender_domain, '.
# 'reject_unknown_reverse_client_hostname, '.
# 'reject_unknown_client_hostname\'',
# '__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'postconf -e \'smtpd_recipient_restrictions '.
'= permit_mynetworks, permit_sasl_authenticated, '.
'reject_unauth_destination\'',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'postconf -e \'smtpd_relay_restrictions '.
'= permit_mynetworks, permit_sasl_authenticated, '.
'defer_unauth_destination\'',
'__display__');
# https://serverfault.com/questions/803920/postfix-configure-to-use-tlsv1-2
# https://www.howtoforge.com/howto_postfix_smtp_auth_tls_howto
($stdout,$stderr)=$handle->cmd($sudo.
'postconf -e \'smtpd_use_tls = yes\'',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"postconf -e \'smtpd_tls_cert_file = ".
"/etc/letsencrypt/live/mail.$domain_url/fullchain.pem\'",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
"postconf -e \'smtpd_tls_key_file = ".
"/etc/letsencrypt/live/mail.$domain_url/privkey.pem\'",
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'postconf -e \'strict_rfc821_envelopes = yes\'',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'postconf -e \'disable_vrfy_command = yes\'',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'postconf -e \'mailbox_size_limit = 0\'',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'postconf -e \'message_size_limit = 0\'',
'__display__');
#($stdout,$stderr)=$handle->cmd($sudo.
# 'postconf -e \'proxy_read_maps = $local_recipient_maps '.
# '$mydestination $virtual_alias_maps $virtual_alias_domains '.
# '$virtual_mailbox_maps $virtual_mailbox_domains '.
# '$relay_recipient_maps $relay_domains $canonical_maps '.
# '$sender_canonical_maps $recipient_canonical_maps '.
# '$relocated_maps $transport_maps $mynetworks '.
# '$virtual_mailbox_limit_maps\'',
# '__display__');
$ad=<<END;
mailbox_transport = lmtp:unix:private/dovecot-lmtp
smtputf8_enable = no
virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf
virtual_mailbox_maps =
proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
virtual_alias_maps =
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
virtual_transport = lmtp:unix:private/dovecot-lmtp
END
($stdout,$stderr)=$handle->cmd($sudo.
'cp -v /etc/postfix/main.cf ~',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -v 777 ~/main.cf','__display__');
($stdout,$stderr)=$handle->cmd("echo -e \"$ad\" >> ".
"~/main.cf");
($stdout,$stderr)=$handle->cmd($sudo.
'sed -i \'$d\' ~/main.cf');
($stdout,$stderr)=$handle->cmd($sudo.
'mv -fv ~/main.cf /etc/postfix/main.cf',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chown -v root:root /etc/postfix/main.cf',
'__display__');
($stdout,$stderr)=$handle->cmd($sudo.
'chmod -v 644 /etc/postfix/main.cf',
'__display__');
if (ref $main::aws eq 'HASH') {
($stdout,$stderr)=$handle->cmd($sudo.
'postconf -e '.
'\'relayhost = [email-smtp.us-west-2.amazonaws.com]:587\' ',
'\'smtp_sasl_auth_enable = yes\' '.
'\'smtp_sasl_security_options = noanonymous\' '.
'\'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd\' '.
'\'smtp_use_tls = yes\' '.
'\'smtp_tls_security_level = encrypt\' '.
'\'smtp_tls_note_starttls_offer = yes\' '.
'\'smtpd_tls_received_header = yes\'',
'__display__');
#
# echo-ing/streaming files over ssh can be tricky. Use echo -e
# and replace these characters with thier HEX
# equivalents (use an external editor for quick
# search and replace - and paste back results.
# use copy/paste or cat file and copy/paste results.):
#
# ! - \\x21 ` - \\x60 * - \\x2A
# " - \\x22 \ - \\x5C
# $ - \\x24 % - \\x25
#
my ($hash,$output,$error)=('','','');
my $c="aws iam list-access-keys --user-name ses_postfix_email";
($hash,$output,$error)=run_aws_cmd($c);
$hash||={};
( run in 1.061 second using v1.01-cache-2.11-cpan-71847e10f99 )