首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从android发送邮件,无需使用smtp和用户交互。

从android发送邮件,无需使用smtp和用户交互。
EN

Stack Overflow用户
提问于 2015-05-10 07:33:02
回答 4查看 2.3K关注 0票数 1

我想发送电子邮件从我的安卓应用程序,没有任何用户互动。我如何在安卓系统中实现像Mailgun 这样的服务?

我在mailgun中找到了一段在java中工作的代码。对于这个实现,我得到了一些不适用于android的。有人试过在安卓系统中使用mailgun吗?

EN

回答 4

Stack Overflow用户

发布于 2015-05-10 10:04:40

我认为你要求的是出站发件人的电子邮件,这是类似于邮件。其中一个类似的服务是Amazon,它已经被合并到AWS SDK中。它甚至有一个不错的教程来实现它的安卓系统。SES和Mailgun都需要经过验证的发件人,所以从技术上讲,您将发送来自您自己的域的电子邮件,并且与用户的电子邮件无关。

票数 1
EN

Stack Overflow用户

发布于 2015-11-24 15:32:47

发送邮件基本实现,通过MailGun API和Retrofit for Android:

代码语言:javascript
复制
public class MailGun {

    private static final String TAG = MailGun.class.getSimpleName();
    private static final boolean DEBUG = Config.DEBUG;

    private static final String ENDPOINT = "https://api.mailgun.net/v3/yourdomain.com/";
    public static final String ACCEPT_JSON_HEADER = "Accept: application/json";
    public static final String BASIC = "Basic";

    private SendMailApi sendMailApi;

    public interface SendMailApi {

        @Headers({ACCEPT_JSON_HEADER})
        @FormUrlEncoded
        @POST("/messages")
        void authUser(
                @Header("Authorization") String authorizationHeader,
                @Field("from") String from,
                @Field("to") String to,
                @Field("subject") String subject,
                @Field("text") String text,
                Callback<MailGunResponse> cb
        );
    }

    public void sendMail(String to, String subject, String msg, Callback<MailGunResponse> cb){
        String from = "User Name Maybe <mailgun@yourdomain.com>";
        String clientIdAndSecret = "api" + ":" + "key-AdFEFtggxxxYourApiKey";
        String authorizationHeader = BASIC + " " + Base64.encodeToString(clientIdAndSecret.getBytes(), Base64.NO_WRAP);
        sendMailApi.authUser(authorizationHeader,from, to, subject, msg, cb);
    }

    public MailGun() {
        RestAdapter restAdapter = getAuthAdapter();
        sendMailApi = restAdapter.create(SendMailApi.class);
    }

    private RestAdapter getAuthAdapter(){
        RestAdapter.LogLevel logLevel = RestAdapter.LogLevel.NONE;
        if(DEBUG)logLevel = RestAdapter.LogLevel.FULL;
        return new RestAdapter.Builder()
                .setEndpoint(ENDPOINT)
                .setConverter(new GsonConverter(new Gson()))
                .setLogLevel(logLevel)
                .build();
    }

}

完整Github要点:https://gist.github.com/hpsaturn/5fd39a4e7d6ffb156197

票数 1
EN

Stack Overflow用户

发布于 2015-05-10 08:14:20

我建议使用javamail。它对我来说很好,在android上也很好。下面是到google代码项目的链接。虽然您没有像mailgun那样有太多的可能性,但是仅仅发送一封javamail就足够了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30148833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档