Использование curl для отправки электронной почты

Как я могу использовать программу командной строки curl для отправки электронной почты из учетной записи gmail?

Я пробовал следующее:

curl -n --ssl-reqd --mail-from "<[email protected]>" --mail-rcpt "<[email protected]>" --url smtps://smtp.gmail.com:465 -T file.txt

Если файл .txt является содержимым электронной почты, однако, когда я запускаю эту команду, я получаю следующую ошибку:

curl: (67) Access denied: 530

Можно ли отправить электронное письмо с учетной записи, размещенной на личном сервере, все еще используя curl? Это упростит процесс аутентификации?

Ответ 1

curl --url 'smtps://smtp.gmail.com:465' --ssl-reqd \
  --mail-from '[email protected]' --mail-rcpt '[email protected]' \
  --upload-file mail.txt --user '[email protected]:password' --insecure

Содержимое файла mail.txt:

From: "User Name" <[email protected]>
To: "John Smith" <[email protected]>
Subject: This is a test

Hi John,
I’m sending this mail with curl thru my gmail account.
Bye!

Дополнительная информация:

  • Im использует curl версию 7.21.6 с поддержкой SSL.

  • Переключатель --insecure позволяет curl выполнять "небезопасные" SSL-соединения и переводы. См. этот онлайн-ресурс этого онлайн-ресурса для дальнейшие подробности.

  • Считается, что плохая практика безопасности позволяет передавать учетные данные через аргументы командной строки. Вышеприведенный пример предназначен только для демонстрационной цели.

  • Вы должны включить доступ для менее безопасных приложений.