IPV6環境のActionMailerでgmail送信すると Net::OpenTimeout (execution expired): となってしまい送信できない。
telnet smtp.gmail.comを実行すると分かるが、まずIPv6で接続をトライし、60秒くらいでタイムアウトした後、IPv4で接続トライする。 最初からIPv4で接続すれば動作するので、IPv6よりIPv4を優先する設定を入れると動作するようになる。 CentOS7で/etc/gai.confファイルに以下の内容を設定する。
label ::1/128 0 label ::/0 1 label 2002::/16 2 label ::/96 3 label ::ffff:0:0/96 4 precedence ::1/128 50 precedence ::/0 40 precedence 2002::/16 30 precedence ::/96 20 precedence ::ffff:0:0/96 100