私はアプリケーションを開発しています。アプリケーションからメールを送信しています。私は次のようにメールを送信するためにコードを使用しています:
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { too });
emailIntent.putExtra(Intent.EXTRA_SUBJECT, sub);
emailIntent.setType("message/rfc822");
emailIntent.putExtra(Intent.EXTRA_TEXT, body);
startActivity(Intent.createChooser(emailIntent, "Choose Email Clients..."));
このコードを使用することにより、私は電子メールを送信することができます。デフォルトのメールコンポーザーにアクセスできます。
私の問題は次のとおりです。ユーザーがデフォルトのコンポーザー(本文、件名、フィールド)で編集できないのはアプリケーションの必要性です。ただし、作曲家のフィールドは編集可能です。それで、編集可能なものを偽にする方法。
メールの本文、件名、送信先としての私のデータ全体は、データベースからのものです。ユーザーには、それを変更または修正する権限がありません。
グーグルで検索して、意図を使わずにメールを送信するコードを入手しましたが、これは非常に複雑だと感じています。リンクはこちら
そして、私はリンクで与えられたステップに従った後にエラーを受け取りました:
03-07 18:06:05.750: D/dalvikvm(12734): GC_CONCURRENT freed 303K, 53% free 2699K/5639K, external 141K/518K, paused 3ms+2ms
03-07 18:06:26.430: E/MailApp(12734): Could not send email
03-07 18:06:26.430: E/MailApp(12734): javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;
03-07 18:06:26.430: E/MailApp(12734): nested exception is:
03-07 18:06:26.430: E/MailApp(12734): java.net.SocketException: Host is unresolved: smtp.gmail.com
03-07 18:06:26.430: E/MailApp(12734): at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1391)
03-07 18:06:26.430: E/MailApp(12734): at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412)
03-07 18:06:26.430: E/MailApp(12734): at javax.mail.Service.connect(Service.java:310)
03-07 18:06:26.430: E/MailApp(12734): at javax.mail.Service.connect(Service.java:169)
03-07 18:06:26.430: E/MailApp(12734): at javax.mail.Service.connect(Service.java:118)
03-07 18:06:26.430: E/MailApp(12734): at javax.mail.Transport.send0(Transport.java:188)
03-07 18:06:26.430: E/MailApp(12734): at javax.mail.Transport.send(Transport.java:118)
03-07 18:06:26.430: E/MailApp(12734): at com.ocs.sendmailcustom.Mail.send(Mail.java:104)
03-07 18:06:26.430: E/MailApp(12734): at com.ocs.sendmailcustom.Main$1.onClick(Main.java:31)
03-07 18:06:26.430: E/MailApp(12734): at android.view.View.performClick(View.java:2538)
03-07 18:06:26.430: E/MailApp(12734): at android.view.View$PerformClick.run(View.java:9152)
03-07 18:06:26.430: E/MailApp(12734): at android.os.Handler.handleCallback(Handler.java:587)
03-07 18:06:26.430: E/MailApp(12734): at android.os.Handler.dispatchMessage(Handler.java:92)
03-07 18:06:26.430: E/MailApp(12734): at android.os.Looper.loop(Looper.java:123)
03-07 18:06:26.430: E/MailApp(12734): at android.app.ActivityThread.main(ActivityThread.java:3691)
03-07 18:06:26.430: E/MailApp(12734): at java.lang.reflect.Method.invokeNative(Native Method)
03-07 18:06:26.430: E/MailApp(12734): at java.lang.reflect.Method.invoke(Method.java:507)
03-07 18:06:26.430: E/MailApp(12734): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
03-07 18:06:26.430: E/MailApp(12734): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
03-07 18:06:26.430: E/MailApp(12734): at dalvik.system.NativeStart.main(Native Method)
03-07 18:06:26.430: E/MailApp(12734): Caused by: java.net.SocketException: Host is unresolved: smtp.gmail.com
03-07 18:06:26.430: E/MailApp(12734): at java.net.Socket.connect(Socket.java:985)
03-07 18:06:26.430: E/MailApp(12734): at java.net.Socket.connect(Socket.java:945)
03-07 18:06:26.430: E/MailApp(12734): at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:233)
03-07 18:06:26.430: E/MailApp(12734): at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:163)
03-07 18:06:26.430: E/MailApp(12734): at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1359)
03-07 18:06:26.430: E/MailApp(12734): ... 19 more
SAMSUNGgalaxys2としてデバイスでアプリケーションを実行しているときにこのエラーが発生しました。
しかし、LGoptimusE400では正常に動作しています。
だから私は何をすべきか、またはタスクを達成するための手順に従う必要があります。または、意図せずにメールを送信する方法はありますか。