sh 在启动时通过电子邮件(使用Mandrill)发送eth0本地IP(192.xxx)的脚本(对Raspberry Pi很有用)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 在启动时通过电子邮件(使用Mandrill)发送eth0本地IP(192.xxx)的脚本(对Raspberry Pi很有用)相关的知识,希望对你有一定的参考价值。

#!/bin/bash
set -eu

MANDRILL_KEY="****************"

FROM=pi@pi.pi
TO=your@ema.il

mail() {
    local ip="$1"

    curl -A 'pi/0.1' \
        https://mandrillapp.com/api/1.0/messages/send.json \
        -d '{
      "key": "'$MANDRILL_KEY'",
      "message": {
        "html": "<h2>Hello dude! </h2> <p>This is my IP: <a href=\"http://'$ip':8000\">'$ip'</a></p>",
        "text": "",
        "subject": "[Pi] Connected on '"$ip"'",
        "from_email": "'$FROM'",
        "from_name": "Pi Pi",
        "to": [
          {
            "email": "'$TO'",
            "type": "to"
          }
        ]
      }
    }'
}

get_ip() {
  ifconfig eth0 | grep addr: | grep -o "[0-9\.]*" | head -1
}

main() {
  local try=30
  local ip=""

  while [[ "$ip" == "" ]] || [[ $try -eq 0 ]]
  do
    ip=$(get_ip)
    sleep 1
    try=$(expr $try - 1)
  done

  [[ $try -eq 0 ]] && "mail ip_not_found" && exit 1

  mail $ip
}

main

以上是关于sh 在启动时通过电子邮件(使用Mandrill)发送eth0本地IP(192.xxx)的脚本(对Raspberry Pi很有用)的主要内容,如果未能解决你的问题,请参考以下文章

.NET SmtpClient 在使用密件抄送时暴露 10 个电子邮件地址(通过 Mandrill)

通过 Java 发送电子邮件模板时的 Mandrill-Error code-5

通过 Mandrill NodeJS API 发送时我没有收到电子邮件

您将如何使用 phantomjs 通过 mandrill 发送邮件?

带有 Heroku 的 Rails 不发送 Mandrill 电子邮件

通过 Laravel / PHP 的 Mandrill 入站电子邮件