루비로 에버노트에 노트북 보내기
정기적인 보고 등을 위해 조사했기 때문에 고도의 처리를 고려하지 않았다.
따라서 데이터 전송은 Evernote API가 아닙니다.
gmail에서evernote로 보내는 메일 주소를 결정합니다.
코드
tlsmail과 메일을 사용했기 때문에 설치해 주세요.
메일의 첨부 파일을 사용하여evernote에 그림을 성공적으로 넣었습니다.
evernote_send.rb
require 'yaml'
# これをやらないと警告が沢山出る
# http://stackoverflow.com/questions/8783400/warning-already-initialized-constant-after-installing-tlsmail-gem
require 'net/smtp'
Net.instance_eval {remove_const :SMTPSession} if defined?(Net::SMTPSession)
require 'net/pop'
Net::POP.instance_eval {remove_const :Revision} if defined?(Net::POP::Revision)
Net.instance_eval {remove_const :POP} if defined?(Net::POP)
Net.instance_eval {remove_const :POPSession} if defined?(Net::POPSession)
Net.instance_eval {remove_const :POP3Session} if defined?(Net::POP3Session)
Net.instance_eval {remove_const :APOPSession} if defined?(Net::APOPSession)
require 'tlsmail'
require 'mail'
class SendEvernote
def initialize(evernote_mail, gmail_account, gmail_pass)
@smtpserver = Net::SMTP.new('smtp.gmail.com',587)
@smtpserver.enable_tls(OpenSSL::SSL::VERIFY_NONE)
@evernote_mail = evernote_mail
@gmail_account = gmail_account
@gmail_pass = gmail_pass
# まとめて送るのでそれ用のバッファ
@buffer = []
end
def addNote(subject, body, files)
mail = Mail.new
mail[:from] = @gmail_account
mail[:to] = @evernote_mail
mail.subject = subject
mail.body = body
files.each do |path|
mail.add_file(path)
end
@buffer << mail
end
def send
@smtpserver.start('gmail.com',@gmail_account, @gmail_pass, :login) do |smtp|
@buffer.each do |mail|
smtp.send_message(mail.encoded, mail.from, mail.to)
end
@buffer.clear
end
end
end
config = YAML.load_file("evernote.yml")
send_evernote = SendEvernote.new(config["evernote_mail"], config["gmail_account"], config["gmail_pass"])
send_evernote.addNote("test", "this is test", ["logo-new.png", "logo.png"])
send_evernote.send
결실
Reference
이 문제에 관하여(루비로 에버노트에 노트북 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ota42y/items/6c73164cac6645758206텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)