后端开发

CRLF的缺失导致smtp方式发送邮件失败

November 5, 2023
后端开发
smtp, 邮件发送

问题描述 # 最近在工作中遇到一个问题,客户端(c++)使用smtp方式发送邮件失败,报错如下: The mail client submitted this message with bare line feeds, which cannot be sent via SMTP protocol DATA command and receiving system does not support BDAT 翻译中中文就是: 邮件客户端在提交此邮件时未 ...

常用功能-打包压缩

November 5, 2023
后端开发, Golang
Golang

功能描述: 使用go语言实现打包压缩功能。 实现这个功能不需要引入第三方库,直接使用go语言自带的archive/zip库即可。 下面直接给出实例代码: package main import ( "archive/zip" "io" "log" "os" ) func zipfiles(zipfilename string, files []string) error { newfile, err := os.Create(zipfilename) ...

使用outlook邮箱以smtp方式发送邮件失败的经历

October 28, 2023
后端开发
smtp, 邮件发送

最近在工作用遇到了一个问题,使用outlook邮箱以smtp方式发送邮件失败,报错如下: 504 5.7.4 Unrecognized authentication type [TYCP286CA0234.JPNP286.PROD.OUTLOOK.COM 2023-10-28T10:42:16.656Z 08DBD767E4655426] 仅从错误信息来看,是无法识别的身份验证类型。 使用其它邮件客户端登录、发送邮件正常, ...

asynq源码阅读

October 6, 2023
后端开发, 消息队列
源码阅读

asynq库介绍 # asynq是一款使用Go语言开发的开源任务队列库,它的特点是: 支持每个任务至少执行一次 支持任务调度 失败任务重试 支持崩溃恢复 支持优先级队列 支持加权优先级队列 支持严格优先级 ...

怎样开发一个grpc拦截器

October 2, 2023
后端开发
grpc

在开发grpc服务时,我们经常会遇到一些通用的需求,比如:日志、链路追踪、鉴权等。这些需求可以通过grpc拦截器来实现。本文使用go语言来实现一个 grpc一元模式(Unary)拦截器,上 ...