ruby 快速脚本调用Dyn的API(可选)删除Postini MX记录并添加小写的Google Mail MX记录。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 快速脚本调用Dyn的API(可选)删除Postini MX记录并添加小写的Google Mail MX记录。相关的知识,希望对你有一定的参考价值。

require 'dyn-rb'

# usage: ruby ./lowercase_google_mx.rb domain.com

# 1: set up the connection
dyn = Dyn::Traffic::Client.new('CUSTOMER_NAME', 'USERNAME', 'PASSWORD')

# 2: set the zone
zone = ARGV[0].to_s
dyn.zone = zone
puts "replacing for #{zone}"

# 3: remove MX records
dyn.mx.get(zone).map do |r|
  if r.rdata["exchange"].include? "ASPMX.L.GOOGLE.COM"
    dyn.mx.fqdn(zone).record_id(r.record_id).delete
  end
  # [OPTIONAL] if you're moving away from postini you can also bin off those records
  # if r.rdata["exchange"].include? "psmtp"
  #   dyn.mx.fqdn(zone).record_id(r.record_id).delete
  # end
end
puts ".. deleted"

# 4: create an MX record
dyn.mx.fqdn(zone).exchange("aspmx.l.google.com.").preference(1).ttl(3600).save()
dyn.mx.fqdn(zone).exchange("alt1.aspmx.l.google.com.").preference(5).ttl(3600).save()
dyn.mx.fqdn(zone).exchange("alt2.aspmx.l.google.com.").preference(5).ttl(3600).save()
dyn.mx.fqdn(zone).exchange("alt3.aspmx.l.google.com.").preference(10).ttl(3600).save()
dyn.mx.fqdn(zone).exchange("alt4.aspmx.l.google.com.").preference(10).ttl(3600).save()
puts ".. added"

# 5: publish the changes
dyn.zone.publish
puts ".. published!"

以上是关于ruby 快速脚本调用Dyn的API(可选)删除Postini MX记录并添加小写的Google Mail MX记录。的主要内容,如果未能解决你的问题,请参考以下文章

ruby 这个Ruby脚本将批量删除超过30天的所有Slack文件。只需从https://api.slack.com/web#authentication添加您的API令牌即可

ruby 使用最少的api调用删除s3存储桶

ruby 用于列出已合并到指定分支的所有远程分支的脚本。 (可选)使用最近提交排除分支。书面

如何在 heroku 上运行带有事件机侦听器的 ruby​​ 脚本?

什么是 Ruby Win32API 参数 |如何传递空指针?

Ruby 可选参数和多参数