• grey927
    2019-09-30
    杨老师,你好,我看到staffjoy里面的短信服务是集成阿里云的短信服务接口,如果想要把staffjoy的短信接口做成可适配多种短信接口(比如接入企业自己的短信中心,或者预留一个接口给企业自定义短信发送实现),这种要如何设计呢?有没有一些参考的东西

    作者回复: 这个可以叫短信聚合服务(一套短信发送接口,可以对接各种短信发送渠道),类似聚合支付(一套支付接口,可以对接各种支付渠道),这个目前还没有看到开源的,一般需要企业自己定制开发,我上家公司就自己开发了一个短信中心。

    开源的我只看到一些库和工具,可以参考再包装成服务
    https://github.com/overtrue/easy-sms
    https://github.com/rememberber/WePush

    另外可以参考聚合支付类项目,这类项目github上不少。

    
     1
  • chun1123
    2019-09-03
    波波老师,您好,我在本地运行的时候,mail服务的邮件一直不能发出去,我已经在阿里云的CRM中申请了access-key和secret,
    但是发送邮件邮箱没有改,用的还是代码中的FROM = "staffjoy@dm.staffjoy.xyz";
    在页面点击注册时报错如下
    com.aliyuncs.exceptions.ClientException: InvalidUser.NotFound : The specified user does not found.
    RequestId : A28EBEEA-7AFD-4204-9AAC-DABA18BC5FD1
        at com.aliyuncs.DefaultAcsClient.parseAcsResponse(DefaultAcsClient.java:151)
        at com.aliyuncs.DefaultAcsClient.getAcsResponse(DefaultAcsClient.java:96)
        at xyz.staffjoy.mail.service.MailSendService.sendMailAsync(MailSendService.java:67)
        at xyz.staffjoy.mail.service.MailSendService$$FastClassBySpringCGLIB$$94ad016b.invoke(<generated>)
        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
        at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
        at org.apache.skywalking.apm.plugin.spring.async.SWCallable.call(SWCallable.java:49)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
    我试过把FROM改为自己的阿里云邮箱,也报错:
    The specified mailAddress does not exist.

    请老师帮忙看下,从搭建工程到能运行起来花了两天时间,最后工程跑起来了,但是由于配置问题不能完美运行,自己对阿里云这块也不是很了解,也翻了官方的文档,但是还是没有解决问题,有点小沮丧,希望老师能指点一二
    展开

    作者回复: 你好,我尝试了一下发给我163的邮箱,用默认的FROM = "staffjoy@dm.staffjoy.xyz",是可以收到的。

    Staffjoy发邮件用的是阿里云DirectMail服务,可能这个发信地址是和我的阿里云账户绑定的,如果你要改设自己的DirectMail的发信邮箱,有点麻烦,参考:https://help.aliyun.com/document_detail/29426.html?spm=a2c4g.11186623.6.557.54485748dBWkAp

    如果发不了邮件的话,有一个小技巧可以绕过,如果注册邮件发不成功,代码会抛和log一个异常(邮件发送失败都会发异常日志),这个异常里头有激活邮件连接,把这个链接贴到浏览器就可以激活了。

    另外,非生产环境,邮件只能发给指定邮箱后缀的用户,这个在mail-api的MailConstant中可以改代码常量STAFFJOY_EMAIL_SUFFIX,默认发给STAFFJOY_EMAIL_SUFFIX = "@jskillcloud.com

     1
    
我们在线,来聊聊吧