Ubuntu

從 ubuntu 到 Zoho 電子郵件地址的聯繫表

  • April 11, 2018

為了讓我的 Postfix 配置與我的 Zoho 電子郵件帳戶一起工作,我需要一些支持。我想要做的是從我在http://www.g3eo.com/#!/page_Contacts的聯繫表格中向我的 Zoho 電子郵件帳戶發送一條消息。為此,我以這種方式在我的 ubuntu 框中配置了 Postfix(基於http://emanuelesantanche.com/configuring-postfix-to-relay-email-through-zoho-mail/):

smtpd_banner = $ myhostname ESMTP $ mail_name (Ubuntu) biff = 否

append_dot_mydomain = no

readme_directory = no

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = all

# TLS parameters
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_header_checks = pcre:/etc/postfix/smtp_header_checks

myhostname = xxxxxxxxxx
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = xxxxxxxxxx, localhost.com, localhost
relayhost = smtp.zoho.com:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/password
#smtp_sasl_security_options =
smtp_generic_maps = hash:/etc/postfix/generic
smtp_sasl_security_options = noanonymous
smtp_always_send_ehlo = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_relay_restrictions = permit_mynetworks,permit_sasl_authenticated,defer_unauth_destination

在我的網站聯繫表單中,事情似乎執行良好,您可以通過在“網路”選項卡中打開 Firebug(按 F12)發送消息來測試它。發送電子郵件後,它會在回複選項卡中顯示此消息“已發送郵件”。但是,該消息沒有到達我在 Zoho 電子郵件帳戶中的電子郵件地址。檢查後/var/log/mail.log顯示:

7 月 4 日 21:46:42 xxxxxxxxxx 後綴/qmgr

$$ 9100 $$: D9B2E5E0292: from=, size=549, nrcpt=1 (隊列啟動) 7 月 4 日 21:46:45 xxxxxxxxxx 後綴/smtp

$$ 27824 $$: D9B2E5E0292: to=, 中繼=smtp.zoho.com$$ 165.254.168.48 $$:587, delay=114224, delays=114222/0.01/2.6/0, dsn=4.0.0, status=deferred (SASL 認證失敗;伺服器 smtp.zoho.com$$ 165.254.168.48 $$說:535認證失敗)

我了解身份驗證問題是因為我的消息可能會進入 Zoho smtp 伺服器,所以它被拒絕了,不確定是不是這樣。如果有人可以幫助了解這裡發生了什麼以及如何解決它,我將不勝感激。

我的聯繫表格使用以下文件: - http://www.g3eo.com/extras/js/forms.js

http://www.g3eo.com/extras/bin/MailHandler.php(見下文)

  if($_POST['name']!='nope'){
      $messageBody .= '<p>Visitor: ' . $_POST["name"] . '</p>' . "\n";
      $messageBody .= '<br>' . "\n";
  }
  if($_POST['email']!='nope'){
      $messageBody .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n";
      $messageBody .= '<br>' . "\n";
  }else{
      $headers = '';
  }
  if($_POST['state']!='nope'){        
      $messageBody .= '<p>State: ' . $_POST['state'] . '</p>' . "\n";
      $messageBody .= '<br>' . "\n";
  }
  if($_POST['phone']!='nope'){        
      $messageBody .= '<p>Phone Number: ' . $_POST['phone'] . '</p>' . "\n";
      $messageBody .= '<br>' . "\n";
  }   
  if($_POST['fax']!='nope'){      
      $messageBody .= '<p>Fax Number: ' . $_POST['fax'] . '</p>' . "\n";
      $messageBody .= '<br>' . "\n";
  }
  if($_POST['message']!='nope'){
      $messageBody .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n";
  }

  if($_POST["stripHTML"] == 'true'){
      $messageBody = strip_tags($messageBody);
  }

  try{
      if(!mail($owner_email, $subject, $messageBody, $headers)){
          throw new Exception('mail failed');
      }else{
          echo 'mail sent';
      }
  }catch(Exception $e){
      echo $e->getMessage() ."\n";
  }

編輯#1:

/etc/postfix/password從更改為 後smtp.zoho.com:587[smtp.zoho.com]我收到了/var/log/mail.log

7 月 4 日 23:46:24 xxxxxxxxxx 後綴/皮卡

$$ 2926 $$: 8BC545E0261: uid=33 from= Jul 4 23:46:24 xxxxxxxxxx postfix/cleanup$$ 2933 $$: 8BC545E0261: 消息 ID=<20160705044624.8BC545E0261@xxxxxxxxxx> 7 月 4 日 23:46:24 xxxxxxxxxx 後綴/qmgr

$$ 2927 $$:8BC545E0261:從=,大小=588,nrcpt=1(隊列活動) 7 月 4 日 23:46:26 xxxxxxxxxx 後綴/smtp

$$ 2930 $$: 8BC545E0261: to=, 中繼=smtp.zoho.com$$ 165.254.168.48 $$:587, delay=2.1, delays=0.13/0/1.8/0.16, dsn=5.5.1, status=bounced (host smtp.zoho.com$$ 165.254.168.48 $$說:530 5.5.1 需要身份驗證。(回复 MAIL FROM 命令)) 7 月 4 日 23:46:27 xxxxxxxxxx 後綴/清理

$$ 2933 $$: 098835E026E: 消息 ID=<20160705044627.098835E026E@xxxxxxxxxx> 7 月 4 日 23:46:27 xxxxxxxxxx 後綴/反彈

$$ 2932 $$:8BC545E0261:發件人未送達通知:098835E026E 7 月 4 日 23:46:27 xxxxxxxxxx 後綴/qmgr

$$ 2927 $$: 098835E026E: from=<>, size=2494, nrcpt=1 (隊列活動) 7 月 4 日 23:46:27 xxxxxxxxxx 後綴/qmgr

$$ 2927 $$:8BC545E0261:已刪除 7 月 4 日 23:46:27 xxxxxxxxxx 後綴/本地

$$ 2934 $$: 098835E026E: to=, relay=local, delay=0.09, delays=0.05/0/0/0.04, dsn=2.0.0, status=sent (發送到郵箱) 7 月 4 日 23:46:27 xxxxxxxxxx 後綴/qmgr

$$ 2927 $$: 098835E026E: 已移除

問題587在這裡嗎?

解決了!,這裡的解決方案:

我有/etc/postfix/smtp_header_checks

/^From:.*/ REPLACE From: LOCALHOST System &lt;info@g3eo.com&gt;;

現在我有:

/^From:.*/ REPLACE From:info@g3eo.com

檢查我是否必須刪除最後的分號以及整個“本地主機系統”加上空格,就是這樣!希望這對其他人有幫助,乾杯!

引用自:https://serverfault.com/questions/787907