从 ubuntu 联系表到 Zoho 电子邮件地址

从 ubuntu 联系表到 Zoho 电子邮件地址

我需要一些支持,以便我的 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 = no

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 postfix/qmgr[9100]: D9B2E5E0292: from=, size=549, nrcpt=1 (队列活动)

7 月 4 日 21:46:45 xxxxxxxxxx postfix/smtp[27824]: D9B2E5E0292: to=,relay=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 postfix/pickup[2926]: 8BC545E0261: uid=33 来自= 7 月 4 日 23:46:24 xxxxxxxxxx postfix/cleanup[2933]: 8BC545E0261: message-id=<20160705044624.8BC545E0261@xxxxxxxxxx>

7 月 4 日 23:46:24 xxxxxxxxxx postfix/qmgr[2927]: 8BC545E0261: from=, size=588, nrcpt=1 (队列活跃)

7 月 4 日 23:46:26 xxxxxxxxxx postfix/smtp[2930]: 8BC545E0261: to=, reply=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 postfix/cleanup[2933]: 098835E026E: 消息 ID=<20160705044627.098835E026E@xxxxxxxxxx>

7 月 4 日 23:46:27 xxxxxxxxxx postfix/bounce[2932]: 8BC545E0261: 发件人未送达通知: 098835E026E

7 月 4 日 23:46:27 xxxxxxxxxx postfix/qmgr[2927]: 098835E026E: from=<>, size=2494, nrcpt=1 (队列活动)

7 月 4 日 23:46:27 xxxxxxxxxx postfix/qmgr[2927]: 8BC545E0261: 已删除

7 月 4 日 23:46:27 xxxxxxxxxx postfix/local[2934]: 098835E026E: to=, reply=local, delay=0.09, delays=0.05/0/0/0.04, dsn=2.0.0, status=sent (已送达邮箱)

7 月 4 日 23:46:27 xxxxxxxxxx postfix/qmgr[2927]: 098835E026E: 已删除

587问题在这里吗?

答案1

解决了!解决方案如下:

我曾在/etc/postfix/smtp_header_checks

/^From:.*/ REPLACE From: LOCALHOST System <[email protected]>;

现在我有:

/^From:.*/ REPLACE From:[email protected]

检查我是否必须删除末尾的分号以及整个“LOCALHOST SYTEM”加上空格,就是这样!!希望这可以帮助其他人,干杯!

相关内容