Frage

hat jemand eine Qualität (und up-to-date) Informationen über Senden von Mail über Google Mail mit Rubys Net :: SMTP? Ich habe mehrere Beispiele gesehen - die meisten aus dem 2007 bis Mitte 2008, und keiner von ihnen arbeiten für mich. Ich brauche mehr aktuelle Beispiele, die die neueste 1.8.7 Release verwenden. Ich würde schätzen, auch wenn die Dokumentation nicht nur einfache Beispiele, dass niemand jemals wirklich Verwendungen deckt.

Zur Zeit einen Fehler Ich erhalte:

 SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol

Ich bin nicht sehr vertraut mit SSL in Bezug auf das SMTP-Protokoll, so dass dies alles auf mir verloren ist. Leider ist der Net :: SMTP-Dokumentation nur die Grundlagen abdeckt und stellt keine vollständige Liste der verschiedenen potentiellen OpenSSL :: SSL Kontexte entweder so kann ich nicht verschiedene diejenigen versuchen.

Wie auch immer, wenn jemand eine Qualität info hat dies mit Google Mail an der Arbeit auf immer wäre es am meisten geschätzt werden.

Best.

War es hilfreich?

Lösung

Ich habe eigentlich nur diese Arbeit. ein schnelles Skript geschrieben, es zu testen.

Ich habe einen anderen Fehler bekommen, als Sie wurden (erfordern STARTTLS) fand ich auch hatte ich zur Verwendung von Port 587 statt 465.

fand ich den Trick es in einem Rails-Arbeit zu bekommen Plugin gefunden. (Agilewebdevelopment.com/plugins/net_smtp_tls_support)

Wenn Sie 'eval' diese Datei (es fügt tls unterstützen zur Standard-Net :: SMTP-Bibliothek):

  

http: // Glück-is- slavery.net/wp-content/rails-plugins/smtp_add_tls_support/lib/smtp_add_tls_support.rb

dann laufen 'Net :: SMTP.enable_tls ()

alles scheint zu funktionieren.

Hier ist mein Code:

require 'rubygems'
require 'net/smtp'

eval File.read("smtp_tls.rb")
Net::SMTP.enable_tls() 
FROM_EMAIL = "REMOVED"
PASSWORD = "REMOVED"
TO_EMAIL = "REMOVED"

msgstr = <<END_OF_MESSAGE
From: Your Name <#{FROM_EMAIL}>
To: my phone <#{TO_EMAIL}>
Subject: text message
Date: Sat, 23 Jun 2001 16:26:43 +0900
Message-Id: <unique.message.id.string@example.com>

This is a test message.
END_OF_MESSAGE

Net::SMTP.start('smtp.gmail.com', 587, 'gmail.com',
                      FROM_EMAIL, PASSWORD, :plain) do |smtp|
  smtp.send_message msgstr, FROM_EMAIL, TO_EMAIL

end

offensichtlich heruntergeladen haben, ich die oben genannten Datei in das gleiche Verzeichnis und nannte es ‚smtp_tls.rb‘

Hope, das hilft!

Andere Tipps

Eigentlich für gmail die folgenden Arbeiten ohne ein Plugin oder ein Juwel, zumindest mit Rubin 1.9.1p376, aber viel Glück Befund-Dokumentation, die Sie so sagen:

    require 'net/smtp'

    msg = "Subject: Hi There!\n\nThis works, and this part is in the body."
    smtp = Net::SMTP.new 'smtp.gmail.com', 587
    smtp.enable_starttls
    smtp.start(YourDomain, YourAccountName, YourPassword, :login) do
      smtp.send_message(msg, FromAddress, ToAddress)
    end

YourAccountName sieht aus wie ‚you@domain.com‘ & IhreDomäne wahrscheinlich alles, was Sie gerne sein kann, aber ich benutze den tatsächlichen Domain-Namen.

Verbinden Sie smtp.gmail.com Port 465 I unter der Annahme ist? .

openssl s_client -connect smtp.gmail.com:587

CONNECTED (00000003) 8298: Fehler: 140770FC: SSL-Routinen: SSL23_GET_SERVER_HELLO: unbekanntes Protokoll: s23_clnt.c: 601:

Der Fehler sieht bei Ihnen sehr ähnlich. Der folgende Befehl funktioniert:

 openssl s_client  -starttls smtp -connect smtp.gmail.com:587

Also ich denke, was passiert ist, dass Sie nicht über STARTTLS-Unterstützung aktiviert. Ich bin nicht sicher, wie es in Ruby kaufen zu tun, was ich wollte herausfinden, ist, dass das Plugin action_mailer_tls dies ermöglicht durch die Patchen Net :: SMTP. Wie von Ruby 1.8.7, Net :: SMTP hat diese Unterstützung eingebaut.

Wenn Sie Ruby-verwenden <1.8.7 hier ist der Patch.

Sie müssen auch zwischen dem Subjekt und dem Körper der Nachricht zwei Zeilenumbrüche haben. Ansonsten nur wird das Subjekt übertragen, und der Nachrichtentext wird leer gelassen werden.

msg = "Subject: My Subject Goes Here\n\nMy message goes here"

https://web.archive.org/web/20110113211408/http://blog.segment7.net/articles/2009/07/08/smtp_tls-1-0-3 Mach Hilfe

und hier sind einige weitere Zeichen zu erfüllen SO Anforderungen ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top