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 )