pepoとネットワークを語ろう

40年前からこれまでとこれからのネットワークを語る

くじらのだんなrubyに苦戦中2(gmailの本文が送信されへんがな!)

2011-03-30 08:00:34 | Linux

rubyでgmailからメールを送信するcgiに挑戦していたが

携帯へのメールに何故か本文が送信されずに困っていたが

もちろんPCへのメールはなにも問題あらへんからよけわかん

いやー、やっと分かったようやく解決したわ

このようにすると本文が抜けます
From:#{mail_from}
To:#{mail_to}
Subject:#{subject}
#{date}
#{msg}

このようにするとOK!、dateとmsgの間に空行が必要ですわ
From:#{mail_from}
To:#{mail_to}
Subject:#{subject}
#{date}

#{msg}

以下サービスです、苦労したスクリプトの主用な部分を披露

#!/usr/bin/ruby -Ku
  require 'rubygems'
  require 'net/smtp'
  require 'openssl'
  require 'tlsmail'
  require 'cgi'
  require 'date'
  require 'nkf'
  cgi = CGI.new
  mail_from = cgi['mail_from']
  mail_to = cgi['mail_to']
  subject = cgi['subject']
  msg = cgi['msg']
  password = cgi['password']
  server = cgi['server']
  day = Time.now
  server = 'smtp.gmail.com'
  port = 587
  helo = 'gmail.com'
  user = 'dokondareka@gmail.com'
  user_password = 'dokonodareka'
  s_password = '4321'
  if password == s_password then
    day = Time.now
    date = day.strftime("Date: %a, %d %b %Y %X %Z")
    msg = NKF.nkf('-Uj',msg)
    subject = NKF.nkf('-Uj',subject)
    Net::SMTP.enable_tls OpenSSL::SSL::VERIFY_NONE
    Net::SMTP.start(server, port, helo, user, user_password, :plain) do |smtp|
    smtp.send_mail To:#{mail_to}
Subject:#{subject}
#{date}

#{msg}
End_mail
  end
end
pepo