0
我已經嘗試使用luasec連接到我的Gmail帳戶並通過SMTP發送電子郵件,雖然過了一段時間,我可以允許不安全的應用程序連接,我想知道如何通過gmail實現安全連接。Luasec - 使用SMTP通過Gmail發送電子郵件
我使用了下面的代碼,我在這裏找到了,其中套接字連接在連接到gmail之前由ssl包裝,但是google仍然說連接是不安全的。
local socket = require 'socket'
local smtp = require 'socket.smtp'
local ssl = require 'ssl'
function sslCreate()
local sock = socket.tcp()
return setmetatable({
connect = function(_, host, port)
local r, e = sock:connect(host, port)
if not r then return r, e end
sock = ssl.wrap(sock, {mode='client', protocol='tlsv1'})
return sock:dohandshake()
end
}, {
__index = function(t,n)
return function(_, ...)
return sock[n](sock, ...)
end
end
})
end
function sendMessage(subject, body)
local msg = {
headers = {
to = 'Your Target <target email>',
subject = subject
},
body = body
}
local ok, err = smtp.send {
from = '<your email>',
rcpt = '<target email>',
source = smtp.message(msg),
user = 'username',
password = 'password',
server = 'smtp.gmail.com',
port = 465,
create = sslCreate
}
if not ok then
print("Mail send failed", err) -- better error handling required
end
end
我甚至儘可能創建自簽名證書並使用它作爲SSL包裹的變量去了,但還是Gmail的標識連接爲不安全。我們需要更改協議還是需要更新luasec庫?
關於這一點,也沒有我的hotmail通過/ outlook.com
感謝您的評論。我確實看到了這個鏈接,但是例如上面的代碼不太安全的概念是我的問題的前提,即安全應用使用哪種協議? (上面有TLS和SSL,仍然被認爲是不安全的!)是的,轉向不太安全的應用程序訪問是一種選擇(雖然不是一個理想的選擇)。在附註中(但與問題仍然相關),我來到https://support.google.com/a/answer/176600?hl=zh_CN。問題是,什麼協議被認爲是ap的安全使用? – Nepaluz
在這種情況下,Google希望用戶使用OAuth 2.0。不使用OAuth 2.0的用戶將被視爲「不太安全」。 – Josh