2016-10-06 2 views
0

나는 항상 전자 메일을 보낼 수있는 방법을 구현하여 사용자가 메시지를 작성하고 " 보내다". 이것이 어떻게 구현 될 수 있는가? 그렇게 할 수있는 방법이 있습니까?안드로이드에서 사용자의 전자 메일/비밀번호없이 메일 보내기

내가 생각한 해결책은 사용자가 앱을 시작할 때 이미 로그인되어있는 전자 메일을 만드는 것입니다.이 방법으로 사용자는이 전자 메일에서 내 실제 전자 메일로 메일을 보낼 수 있습니다. 우편. 어떻게 생각해? 가능한 경우 첫 번째 방법을 선호합니다.

메일을 보내기 위해 네이티브 앱을 사용하는 방법이 있습니다.하지만이를 해결하고 내 앱에서 직접 보내고 싶습니다.

이것은 내가 지금 그것을하고 있어요 방법입니다 : 내가 생각 한 다른

public void sendEmail() 
    { 
     String [] reciever = new String[]{"[email protected]"}; 
     String subject = ("Feedback/Question"); 
     Intent mailIntent = new Intent(Intent.ACTION_SEND); 
     mailIntent.putExtra(Intent.EXTRA_EMAIL, reciever); 
     mailIntent.putExtra(Intent.EXTRA_SUBJECT, subject); 
     mailIntent.putExtra(Intent.EXTRA_TEXT, msg.getText()); 
     mailIntent.setType("message/rfc822"); 
     startActivity(Intent.createChooser(mailIntent, "Choose an application")); 
    } 

뭔가 메시지를 작성하고 "보내기"를 클릭하여 사용자 만이있는 Webview을 사용하는 것입니다. 대부분의 웹 사이트가 그렇듯이; 당신은 자신의 전자 메일, 주제 및 메시지를 작성합니다. 그러나이 솔루션을 사용하려면 웹 사이트가 필요합니다. 그 외에도 저를 위해 할 수있는 기존 웹 사이트를 찾을 수 없었습니다.

메일 API에 대해 읽었지만이 API를 사용하려면 사용자에게 Gmail이 있어야하며 비밀번호를 입력해야합니다.

+0

자바 메일을보십시오. – greenapps

+0

@greenapps 이미 해봤지만 해결책을 찾지 못했습니다 :) –

+0

와트가 문제입니까? 자바 메일이 그것을 할 것이다. – greenapps

답변

0

여기에 문제가 있습니다. 암호없이 암호를 사용하면 사람들이이를 사용하여 스팸을 보낼 수 있습니다. 너는 그걸 원하지 않아.

앱에 이메일 사용자 이름과 비밀번호를 퍼갈 수 있지만 앱에서 해당 정보를 추출하여 이메일 계정을 남용 할 수 있습니다.

@greenapps에서 제안하는 방법은 서버에서 실행되는 앱으로 이메일 사용을 이동하는 것입니다. 그러면 Android 앱이 실제로 이메일을 보내는 서버 앱에 접속합니다. 서버 앱은 제한된 형식의 전자 메일 만 전송하고 특정 전자 메일 주소에만 보낼 수 있습니다. 즉, 전자 메일 사용자 이름과 암호는 서버에 저장되어 더 나은 보호를받을 수 있습니다.

물론 누구나 서버에 액세스하여 메시지를 보내도록 요청할 수 있습니다. 서버로는 아무 것도 할 수 없으며 메시지를 보내달라고 요청할 수 있습니다. 이렇게하면 공격 벡터가 크게 줄어들지 만 여전히 남용 가능성이 있습니다.

서버 앱에 액세스 할 때 일종의 비밀번호를 제공해야 할 수도 있습니다. 그러나 다시 말해, 누군가가 추출하여 서버 앱을 악용하는 데 사용할 수있는 Android 앱에이 암호를 삽입해야합니다.

Android 앱이 설치되면 사용자 별 고유 ID를 생성하고이를 사용하여 서버 앱의 악용 사례를 추적 할 수 있습니다. 그건 학대를 막는 것이 아니라 학대자를 차단할 수있게 해줍니다.

남용의 위험을 줄이려면 어느 정도의 위험을 수락하고 얼마나 복잡할지 결정해야합니다.