2012-08-13 55 views
0

我寫了一個可以發送電子郵件給設備用戶的(android)應用程序。用戶的Gmail帳戶從設備中讀取,並用作電子郵件的發件人和收件人地址。這些電子郵件目前通過gmail smtp服務器通過我註冊的電子郵件帳戶發送(名稱與應用程序的名稱相對應)。該應用程序使用正確的密碼以編程方式登錄到我的帳戶,並將電子郵件發送到用戶的帳戶。它工作了很短的時間。然後,gmail似乎對這個電子郵件帳戶從世界各地(即來自各種/不同客戶使用的我的應用程序)登錄的事實作出了反應,並且他們懷疑該帳戶被劫持。他們迫使我改變密碼。所以這個設置不再起作用。如何以及在哪裏註冊用於從應用程序向設備所有者發送電子郵件的電子郵件帳戶?

所以我的問題是: 這是如何實現的? 使用另一個電子郵件帳戶發送電子郵件? 如何?哪裏? 或者有另一種方法使用gmail smtp服務器來達到這個目的嗎?

問候泰耶

回答

0

爲什麼:爲什麼要您要發送從......有人郵件可能給你什麼你一個更好的解決方案非常相同的設備上發送電子郵件 向我們解釋正在努力實現。

答: 最好最可靠的方式來實現你想要做的是建立自己的Web服務器(最便宜的從最便宜的網絡託管公司將工作),它會用自己的預先配置的SMTP服務。

然後在此服務器上調用一個web服務器,該服務器將從服務器發送電子郵件。

的Web服務可以與單行PHP腳本一樣簡單:

<?php 
    $to  = '[email protected]'; 
    $subject = 'subject'; 
    $message = 'Hello !'; 
    $headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n"; 

    mail($to, $subject, $message, $headers); 
?> 

當然,你會得到從GET或POST變量中的變量,你會從你的Android應用程序發送。

您可以像上面那樣做到這一點非常安全或非常鬆散,如果您更改過您的smtp,您只需要在網絡服務器上更改一次,並且所有安裝的應用程序將自動能夠繼續發送電子郵件到你的用戶。

+0

謝謝你,Yahel。這是從應用程序發送電子郵件的默認方式。或者,用戶可以配置他自己的發件人,收件人。和smtp主機。但默認設置可以確保他以最簡單的方式將電子郵件發送到自己的帳戶。我知道我可以建立自己的網絡服務器來做到這一點,但我希望避免它。 – Terry 2012-08-13 14:31:15

+0

當然,必須有一些smtp服務器在某個地方接受這種使用?僅使用端口25(無密碼)的smtp服務器也可以接受。 – Terry 2012-08-13 14:56:34

+0

試圖去smtp服務器的方式是艱難的方式:很多,如果不是大多數人背後的wifi將無法通過端口25發送電子郵件。大多數FAI阻止此端口,因爲垃圾郵件發送者使用殭屍機發送他們的垃圾郵件。我相信未來我們會看到與移動設備相同類型的阻止,因爲它們也容易出現惡意軟件。 – Yahel 2012-08-13 15:14:02

相關問題