`

邮箱服务器mailgun的使用记录

    博客分类:
  • Java
阅读更多
最近项目中需要发送邮箱验证码,使用fastmail和其他的邮箱服务器,但是都有些不同的限制,比如每天的发送量只有几百条超过就发不出去了,或者是说邮箱内容太过相似,不能发送等,最后还是选择使用mailgun,这个每月的总量可以发送250万,一个月是800USD,这个对接还是蛮简单,在官网可以找到demo,如下:
import java.io.File;

import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.JsonNode;
import com.mashape.unirest.http.Unirest;
import com.mashape.unirest.http.exceptions.UnirestException;


public class MGSample {

    // ...

    public static JsonNode sendSimpleMessage() throws UnirestException {

        HttpResponse<JsonNode> request = Unirest.post("https://api.mailgun.net/v3/" + YOUR_DOMAIN_NAME + "/messages")
                        .basicAuth("api", API_KEY)
                    .queryString("from", "Excited User <USER@YOURDOMAIN.COM>")
                    .queryString("to", "artemis@example.com")
                    .queryString("subject", "hello")
                    .queryString("text", "testing")
                    .asJson();

           return request.getBody();
    }
}

官网文档地址:https://documentation.mailgun.com/en/latest/quickstart-sending.html#send-via-api
参数:
1、USER@YOURDOMAIN.COM是mailgun的账号
2、API_KEY是注册的账号里面创建的apiKey
本地测试很容易就通过了,但是放到服务器上面就报错
异常:
com.mashape.unirest.http.exceptions.UnirestException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuild
erException: unable to find valid certification path to requested target

这个是证书不信任问题
处理方法就是访问上面的发送地址(https://api.mailgun.net/v3/*******.org/messages)把证书下载到服务器,然后导入到服务器上面的证书库,使用下面的命令导入就行:
keytool -import -keystore "/usr/java/jdk1.8.0_60/jre/lib/security/cacerts"  -storepass changeit -keypass changeit -alias hzpt -file www.mailgun.net.crt

"www.mailgun.net.crt" 为下载下来的证书名

按上面导入到证书库后重启tomcat就可以了
分享到:
评论

相关推荐

    Laravel开发-laravel-mailgun-email-validation

    本项目"laravel-mailgun-email-validation"专注于使用Mailgun API进行电子邮件验证,实现了三步验证检查,确保邮件发送的准确性和安全性。 第一步:配置Mailgun 在Laravel中集成Mailgun,首先需要在.env文件中添加...

    Laravel开发-mailgun

    本文将深入探讨如何在 Laravel 项目中使用 Mailgun 发送邮件,以及相关的配置和使用技巧。 ### 1. 安装 Mailgun 首先,你需要在 Laravel 项目中安装 `vinkla/mailgun` 包,这是一个为 Laravel 提供 Mailgun 集成的...

    C#检测邮箱地址是否存在源码

    要进一步确认邮箱地址是否真实存在于某个邮件服务器上,我们需要进行DNS查询,查找MX(Mail Exchange)记录。MX记录指示了负责处理特定域邮件的服务器。C#的`System.Net.NetworkInformation`命名空间提供了DNS查询...

    discuz邮箱验证问题

    检查SPF记录和DKIM设置,确保它们与你的SMTP服务器相匹配。 为了排查问题,可以阅读`问题.txt`文件,其中可能包含了错误日志和详细的故障信息。根据这些信息,你可以针对性地解决遇到的具体问题。此外,你还可以...

    mailgun-node:mailgun客户端到API

    在Mailgun控制台配置一个Webhook URL,指向你的Node.js服务器上的处理函数。使用`express`或其他HTTP框架,创建一个路由来处理Webhook请求,并解析请求体中的邮件信息。 ### 6. 邮件验证 `mailgun-node`还提供了...

    留言发送到邮箱的留言板.7z

    开发者可以使用第三方邮件服务商如SendGrid、Mailgun或自家邮件服务器的SMTP接口来实现。发送邮件时,需要构造邮件头(包括发件人、收件人、主题等信息)和邮件正文(即用户的留言内容)。 4. **安全与防护**:为了...

    Laravel开发-e50-mail-laravel

    首先,你需要在`.env`文件中配置邮件服务的相关设置,包括SMTP服务器地址、端口、用户名、密码以及发件人邮箱等信息。默认情况下,Laravel支持多种邮件服务提供商,如Gmail、SendGrid、Mailgun等。 ### 2. 创建邮件...

    实现eMail会员注册,在线验证功能

    这通常通过SMTP(Simple Mail Transfer Protocol)服务实现,比如使用第三方的SMTP服务商如SendGrid或Mailgun。在邮件中,生成一个唯一的、临时的验证码,并设置一个合理的过期时间。 邮件发送后,用户会收到一封...

    用户qq注册后自动登陆

    这可能使用了SMTP协议来发送邮件,或者集成第三方服务如SendGrid或Mailgun。 总的来说,这个小案例涵盖了用户身份管理的核心概念,从用户注册到数据存储,再到安全验证和用户体验。对于初学者,这是一个很好的起点...

    Laravel开发-email-parser .zip

    - Laravel中可以使用`Psr\Log`接口记录解析日志,帮助调试和分析邮件内容。 - `Illuminate\Mail\Message`类可以用来处理接收到的邮件,解析邮件头和内容。 - 可能需要第三方库如`maatwebsite/excel`或`php-imap`...

    Laravel开发-mail-debug

    发送邮件时,你可以直接调用`Mail::to()`方法,传递收件人的邮箱地址,然后传递Mailable实例: ```php use App\Mail\DebugMail; Mail::to('debug@example.com')-&gt;send(new DebugMail()); ``` 为了在不实际发送...

    网页注册代码

    邮件服务通常由SMTP协议完成,配合第三方服务如SendGrid或Mailgun提供稳定可靠的发送。 5. 错误处理与反馈:在整个注册流程中,应有充分的错误处理机制,以便在出现问题时向用户提供清晰的反馈。这包括网络错误、...

    Laravel开发-laravel-email-exceptions

    Laravel支持多种邮件服务提供商,如SMTP、Mailgun、SparkPost等。在`config/mail.php`配置文件中,你可以设置默认的邮件驱动、服务器地址、端口、用户名、密码等相关参数。确保这些参数正确无误,是避免邮件发送异常...

    Laravel开发-sneaker

    - **邮件发送**:使用`Mail` facade 将格式化的堆栈信息发送到指定的邮箱地址。 - **配置**:项目可能提供一个配置文件,允许开发者自定义邮件接收者、主题和邮件模板。 5. **扩展和优化** 除了电子邮件,还可以...

    Laravel开发-frenchfrogs

    8. **邮件服务**:Laravel 提供了优雅的邮件发送接口,支持 SMTP、Mailgun、SparkPost 和发送邮件至本地邮箱等多种方式。 9. **错误与日志管理**:Laravel 提供了统一的错误处理机制,方便开发者进行调试和记录错误...

    activateaccountbyemail:客户被迫通过电子邮件激活其帐户

    这可能是您自己的服务器,或者是第三方服务提供商如SendGrid、Mailgun等。邮件服务器需要配置正确,以确保邮件能够成功发送,同时避免被识别为垃圾邮件。这涉及到设置正确的发件人地址、DKIM(DomainKeys Identified...

    notification:用于向用户发送通知(电子邮件)的存储库

    存储库很可能包含了与电子邮件服务提供商的接口,如SMTP服务器或者API(如SendGrid、Mailgun或Amazon SES)。这些接口用于实际发送邮件,确保通知能够送达用户的收件箱。可能还包括错误处理机制,以处理无法发送的...

Global site tag (gtag.js) - Google Analytics