Отправка электронной почты через G Suite с помощью Golang - PullRequest
0 голосов
/ 29 ноября 2018

У меня настроена учетная запись G Suite, и я включил службу ретрансляции SMTP.Служба ретрансляции в настоящее время настроена на прием почты только с IP-адреса моего веб-сервера, не требуя SMTP-аутентификации или шифрования TLS.
Эта ссылка сообщает мне, что я должен иметь возможность отправлять почту в smtp-relay.gmail.com через порт 25 (или 465/587).

Это все хорошо.У меня очень простой скрипт go для отправки электронной почты здесь.

package main

import (
        "log"
        "net/smtp"
        "os"
)

func main() {
        args := os.Args[1:]
        to := args[0]
        body := args[1]
        from := "[my g-suite user account name]"
        msg := "From: " + from + "\n" + "To: " + to + "\n" + 
                "Subject: Hello Friend\n\n" + body
        err := smtp.SendMail("smtp-relay.gmail.com:25",nil,
                from, []string{to}, []byte(msg))
        if err != nil {
                log.Printf("smtp err :%s\n",err)
        } else {
                log.Printf("Email sent\n")
        }

        log.Printf("email sent\n")
}

Когда я запускаю это, я получаю следующую панику

2018/11/29 12:24:22 smtp err :dial tcp 74.125.195.28:25: connect: no route to host

Я понимаю, что говорит мне эта ошибкано я не могу на всю жизнь решить ее.Я думал, что это проблема с настройками брандмауэра.Я пытался очистить iptables и отключить ufw, но каждый раз получаю один и тот же результат.

Я также пытался отправлять почту с этого веб-сервера с использованием Mutt и Sendmail (с аналогичными настройками).

Есть предложения о том, что мне следует искать?Я выполнил кучу поисков и попробовал несколько других скриптов, но всегда имел одинаковый результат.

РЕДАКТИРОВАТЬ
Попробовав несколько различных вариантов, таких как обычная почта Gmail с существующей учетной записью, используя sendmail или ssmtp, я посмотрел tcpdump при попытке отправить почту.Wireshark показывает, что связь с почтовым сервером как «Связь административно отфильтрована».Я полагаю, это означает, что хостинг-провайдер фильтрует порты 25 465 и 587, поскольку я их все перепробовал и отключил свои правила.

1 Ответ

0 голосов
/ 04 декабря 2018

Решено.
Мой хостинг-провайдер фильтровал SMTP-порты.Я открыл билет на обслуживание и настроил эти фильтры.Почта теперь отлично работает

...