www.91084.com

GVKun编程网logo

如何从Android通过Gmail客户端发送自动电子邮件(安卓手机gmail邮箱设置)

47

以上就是给各位分享如何从Android通过Gmail客户端发送自动电子邮件,其中也会对安卓手机gmail邮箱设置进行解释,同时本文还将给你拓展AndroidGmail应用不会在HTML电子邮件中呈现背

以上就是给各位分享如何从Android通过Gmail客户端发送自动电子邮件,其中也会对安卓手机gmail邮箱设置进行解释,同时本文还将给你拓展Android Gmail应用不会在HTML电子邮件中呈现背景图片、Android – 使用JavaMail和OAuth2发送电子邮件、android – 如何以我可以看到收件箱,发送物品等方式从我的应用程序启动电子邮件客户端、android – 如何使用设备注册的电子邮件ID自动填充电子邮件edittext等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何从Android通过Gmail客户端发送自动电子邮件(安卓手机gmail邮箱设置)

如何从Android通过Gmail客户端发送自动电子邮件(安卓手机gmail邮箱设置)

我从网上搜索了很多东西.但到处都是非常复杂的代码任何人都可以提供简单的代码来发送自动电子邮件而无需用户与我的设备进行交互吗?

可能是非常简单的步骤

>创建电子邮件客户端对象.
>设置为,从,主题和正文.
>发送成功或失败状态的邮件.

可能吗?

解决方法

不,您无法通过Gmail或其他内置电子邮件应用在没有用户互动的情况下发送自动电子邮件.如果可能,这将是一个明显的安全风险,不是吗?

你可以做的是发送一个调用内置电子邮件应用程序的Intent.然后用户决定发送/取消它.

Android Gmail应用不会在HTML电子邮件中呈现背景图片

Android Gmail应用不会在HTML电子邮件中呈现背景图片

HTML电子邮件.每个人的第一个也是最后的爱.

我已经构建了一个基于表格的电子邮件,其背景图像带有文本叠加作为“英雄”模块.我在div w / inline CSS上使用了背景图像.除Outlook 2010/2013和Android Gmail原生应用程序外,其他地方都很棒.

android gmail应用程序是否停止支持背景图像?

即使这不起作用…说明和石蕊的防弹样本(backgrounds.cm)说没有继续前景和android gmail应用程序.

<table>
<tr>
<td background="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQNR9_Ru7wFZQLYHFXkeobjz0VoSFcC6-ieN7yWBa0dsnHhvZ8-IPSmpKw" bgcolor="#7bceeb" width="580" height="240" valign="top">
  <!--[if gte mso 9]>
  <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false">
    <v:fill type="fill" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQNR9_Ru7wFZQLYHFXkeobjz0VoSFcC6-ieN7yWBa0dsnHhvZ8-IPSmpKw" color="#7bceeb" />
    <v:textBox inset="0,0">
  <![endif]-->
  <div>
      Please work,please,darn it
        </div>
  <!--[if gte mso 9]>
    </v:textBox>
  </v:rect>
  <![endif]-->
</td>
</tr>
</table>

解决方法

好问题.关于这个主题有很多相互矛盾的信息.

例如,this link建议内联所有CSS,而this link建议将所有样式嵌入到头部.更进一步 – 如果this link是正确的,Gmail的电子邮件预处理器会从电子邮件正文中删除粗略的CSS:

Gmail doesn’t allow backgrounds (mostly). If you include any reference to a URL,your entire declaration will be ignored. For example:

background: #000; /*This will be accepted */

background: #000 url(http://www.test.com/test.jpg); /* This entire line will be ignored */

无论如何,我有一个类似的问题涉及一个背景图片无法在< table>上工作.元素,我解决了*通过向我的表添加一个类…

<table>

…附带样式表声明:

<style>
    .table {
        background-image: url(https://www.example.com/image.jpg/);
    }
</style>

我还通过background-image CSS属性和后台HTML属性添加了对图像的重复引用(因为上帝知道Gmail预处理器正在做什么).

<tablebackground="https://www.example.com/image.jpg/">

*这不适用于Outlook,如Outlook doesn’t support background images at all.

针对您的案例的其他一些想法:确保链接实际上是正确的,并确保服务器正确配置为从外部提供应该提供的任何类型的图像.

如果所有其他方法都失败了,也许您可​​以尝试使用直接解析为图像的URL. Gmail可能会剥夺所有这一切,因为它确定它看起来过于粗略.

Android – 使用JavaMail和OAuth2发送电子邮件

Android – 使用JavaMail和OAuth2发送电子邮件

我正在开发一个基本的电子邮件发件人应用,只向Gmail发送电子邮件.过了一段时间,我想出了Google现在需要使用GoogleAuthUtil API中的getToken()方法进行身份验证的OAuth2的漏洞方案.

我在网上搜索了JavaMail代码,使用我从API检索的令牌发送电子邮件,我找到了以下我现在使用的代码:

package com.provider;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.Provider;
import java.security.Security;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.URLName;
import javax.mail.Message;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.util.ByteArrayDataSource;

import android.util.Log;

import com.sun.mail.smtp.SMTPTransport;
import com.sun.mail.util.BASE64EncoderStream;

public class GMailOauthSender {
private Session session;

private String mailhost = "smtp.gmail.com";   
private int port = 587;
private String user;   
private String password;   



public SMTPTransport connectToSmtp(String host, int port, String userEmail,
        String oauthToken, boolean debug) throws Exception {

    Properties props = new Properties();
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.starttls.required", "true");
    props.put("mail.smtp.sasl.enable", "true");
    props.put("mail.smtp.auth", "true");
    props.put("mail.imap.auth.login.disable", "true");
    props.put("mail.imap.auth.plain.disable", "true");
    session = Session.getInstance(props);
    session.setDebug(debug);


    final URLName unusedUrlName = null;
    SMTPTransport transport = new SMTPTransport(session, unusedUrlName);
    // If the password is non-null, SMTP tries to do AUTH LOGIN.
    final String emptyPassword = null;
    transport.connect(host, port, userEmail, emptyPassword);

            byte[] response = String.format("user=%s\1auth=Bearer %s\1\1", userEmail,
            oauthToken).getBytes();
    response = BASE64EncoderStream.encode(response);

    transport.issueCommand("AUTH XOAUTH2 " + new String(response),
            235);

    return transport;
}

public synchronized void sendMail(String subject, String body, String user,
        String oauthToken, String recipients) {
    try {

        SMTPTransport smtpTransport = connectToSmtp("smtp.gmail.com",
                587,
                user,
                oauthToken,
                true);

        MimeMessage message = new MimeMessage(session);
        DataHandler handler = new DataHandler(new ByteArrayDataSource(body.getBytes(), "text/plain"));   
                message.setSender(new InternetAddress(user));   
                message.setSubject(subject);   
                message.setDataHandler(handler);   
        if (recipients.indexOf(',') > 0)   
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients));   
        else  
            message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients));   
        smtpTransport.sendMessage(message, message.getAllRecipients());   


    } catch (Exception e) {
        //Log.d("test", e.getMessage());
    }

}

不幸的是,代码根本不起作用.到目前为止,我已经坚持了三个多星期.有什么建议?

解决方法:

当我第一次这样做并使其工作时真的很痛苦.遵循这些步骤

首先,您需要在开发人员控制台中为您的应用设置OAuth2,有关详细信息,请转到此link

现在您需要添加这4个文件,这些将有助于在后台@R_301_5604@.当用户打开应用程序时,将向用户显示同意屏幕(文件AUthActivity.java中的代码),并且必须允许该应用程序使用gmail,这是一次性活动,以后不再需要.执行此操作时,用户从Google服务器请求令牌,并将保存在首选项中,以便不再询问用户(AuthPreferences.java).用户批准后,您可以使用以下方式@R_301_5604@:

GMailSender gMailSender = new GMailSender();
gMailSender.sendMail("hi", "hi", authPreferences.getUser(), authPreferences.getToken(), "somemailid@gmail.com");

github:https://gist.github.com/ranjithnair02/1c6dab7dec51971abfec中文件的链接

您还需要将以下jar文件添加到项目中:

http://javamail-android.googlecode.com/files/mail.jar

http://javamail-android.googlecode.com/files/activation.jar

http://javamail-android.googlecode.com/files/additionnal.jar

您还需要在Androidmanifest.xml中添加以下内容

<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

android – 如何以我可以看到收件箱,发送物品等方式从我的应用程序启动电子邮件客户端

android – 如何以我可以看到收件箱,发送物品等方式从我的应用程序启动电子邮件客户端

当我从我的应用程序启动电子邮件客户端时,会打开电子邮件客户端的撰写窗口,但是当我这样启动时,我无法看到收件箱,发送项目等…

简而言之,如何从应用程序启动电子邮件客户端,就像从桌面启动一样?

任何建议将不胜感激.

解决方法:

in short how to launch email client from app exactly like launching from desktop..

对此没有标准的意图,抱歉.

android – 如何使用设备注册的电子邮件ID自动填充电子邮件edittext

android – 如何使用设备注册的电子邮件ID自动填充电子邮件edittext

我想使用在设备上注册的gmail-id自动完成emailId EditText.
例如,如果我的手机注册了gmail id sd@gmail.com,那么当我开始输入“s”时它应该是自动完成的.有任何想法吗???谢谢…

解决方法

你必须通过 Android AccountManager类:
AccountManager manager = (AccountManager) getSystemService(ACCOUNT_SERVICE); 
Account[] list = manager.getAccounts();

并且还需要向AndroidManifest文件添加所需的权限:

<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission>

从那里你可以自动填充信息.

我们今天的关于如何从Android通过Gmail客户端发送自动电子邮件安卓手机gmail邮箱设置的分享就到这里,谢谢您的阅读,如果想了解更多关于Android Gmail应用不会在HTML电子邮件中呈现背景图片、Android – 使用JavaMail和OAuth2发送电子邮件、android – 如何以我可以看到收件箱,发送物品等方式从我的应用程序启动电子邮件客户端、android – 如何使用设备注册的电子邮件ID自动填充电子邮件edittext的相关信息,可以在本站进行搜索。

本文标签: