使用中国手机号码验证mailgun账号
前言Mailgun 是一个专为开发者设计的邮件发送平台,支持通过 API 高效、稳定地发送和接收邮件。它广泛用于用户通知、营销邮件、自动化开发信等场景。每个月可免费发送10000封邮件,可以添加1000个域名,每封邮件都有跟踪日志,简单明了的管理界面。
注册点 mailgun.com 右上角的“start for free“进去是不会给免费版选项的,只有 free trial,而 https://www.mailgun.com/pricing/ 页面则有免费 plan,常规注册即可,无需填写信用卡.
验证mailgun会发送邮件要求验证号码。在验证页面会要求用户提供手机号验证。但是对中国手机号码来说,可能存在收不到验证码的可能。
解决在mailgun后台,点击右上角的问号❓,点击“Support”按钮。提交一个工单,点击左下方“Open a ticket”的开工单按钮。在开工单页面下拉选择“Account Management”类别,然后输入问题标题和具体内容。
这是我总结的模版:
Subject: Unable to Verify Email Due to Excessive Ve ...
podman登录非https的私有仓库
前言本文的目的是为了解决podman登陆非https的私有仓库。这里使用192.168.31.220:5000威力
方案1:禁用 TLS 验证(临时解决方案)对于测试环境或内部信任的网络,可以临时禁用 TLS 验证:
1podman login --tls-verify=false 192.168.31.220:5000
注意:生产环境不建议禁用 TLS 验证,这会降低安全性。
方案2: 配置仓库为不安全仓库编辑 /etc/containers/registries.conf文件,添加以下内容:
123[[registry]]location = "192.168.31.220:5000"insecure = true
方案3:正确配置 HTTPS(生产环境推荐)如果这是生产环境,建议为您的私有仓库配置正确的 HTTPS。
使用systemd部署podman的容器
podman的问题podman是一个容器运行时环境,提供与 Docker 非常相似的功能并不需要在你的系统上运行任何守护进程。没有守护进程就意味着如果你想使用podman部署容器,是没有办法使用类似docker的方式去实现自动重启功能。如果使用k8s部署容器那问题不大,如果就纯容器部署,可以使用podman给出的方案:
123456789101112131415161718192021222324252627282930313233343536373839podman generate systemd --help[DEPRECATED] Generate systemd unitsDescription: Generate systemd units for a pod or container. The generated units can later be controlled via systemctl(1).DEPRECATED command:It is recommended to use Quadlets for running containers and po ...
在spring中使用gmail发送邮件
申请gmail的应用专用密码首先你需要一个gmail账号,然后才能申请gmail的应用专用密码。
想要申请应用专用密码必须开启两步验证:
google似乎默认并不想让用户直接创建应用专用密码,需要通过右上角搜索框输入“应用专用密码”才能进入相关页面。如果使用英文页面则搜索“App Password”。
然后你就可以创建“应用专用密码”
保存密码,gmail仅仅会显示这一次。
使用spring发送邮件这里实际使用的是spring boot。
导入spring-boot-starter-mail:
对于maven用户:
12345<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> <version>${spring-boot-version}</version></dependency>
对 ...
noice.nvim在cmdline中的光标自动滚动到最前面的bug
前言最新把 neovim 升级到最新版本0.11.1,lazyvim 升级到14.x。然后不出意外就挂了好几个 plugin。其中 noice.nvim 是影响比较小的但比较膈应人的。
bug描述
当在cmdline模式输入命令的时候光标总是会莫名其妙的滚动到最前面。我本来以为是noice.nvim的问题,但是经过测试,发现只有在itermn2的非全屏模式下才会出现,全屏模式或者其他终端模拟器则不会出现类似的问题。
解决好在bug: Cursor jumps in cmdline - 4.5.0中有小哥也遇到过类似的问题,他在iTerm2中禁用”由会话触发的窗口调整大小”功能解决了这个问题(设置路径:Settings > Profiles > [我的配置文件] > Terminal > 勾选”Disable session-initiated window resizing”),然后就好了。
其他在https://superuser.com/questions/113944/how-to-prevent-screen-from-resizing-my-te ...
在windows系统中如何给rust如何配置字节源
rust中如何配置字节源前言本文的目的是在windows上安装或更新rust的时候通过配置字节的国内源来提高安装/更新速度。非windows系统就可以直接参考rsproxy
配置说明在powershell中设置 Rustup 镜像
12$ENV:RUSTUP_DIST_SERVER='https://rsproxy.cn'$ENV:RUSTUP_UPDATE_ROOT='https://rsproxy.cn/rustup'
安装或者更新Rust
如果是安装rust,直接点击rust-init.exe
如果是更新rust,直接运行rustup update命令
1rustup update
设置 crates.io 镜像在当前用户的主目录(以我本地为例:D:\Users\daming)下的.cargo文件夹中创建config文件。
12345678910[source.crates-io]replace-with = 'rsproxy-sparse'[source.rsproxy]registry = " ...
使用apache commons-csv读写csv文件
使用apache commons-csv读写csv文件前言本文的目的是使用apache commons-csv读写csv文件。
定义实体Worker是通过ai随机定义的一个java类型:
12345678910111213141516171819202122232425262728public class Worker { private String id; private String employeeNumber; private int version; private String lastName; private String firstName; private String gender; private String department; private String position; private LocalDate hireDate; private String email; private String phoneNumber; private String status ...
在k3s中配置私有镜像仓库
前言本文的目的是实现在k3s中可以访问使用docker部署registry。
部署registry启动一个一次性容器用于创建账号密码.密码文件路径以/root/registry/htpasswd为例,账号密码以admin和12345678为例.
123docker run --rm --entrypoint \ htpasswd httpd:2 -Bbn \ admin 12345678 > ./registry/htpasswd
编写docker compose的yaml文件用于启动registry。
123456789101112131415161718192021222324services: registry: image: registry:2 container_name: registry volumes: # - ./config.yml:/etc/docker/registry/config.yml - ./htpasswd:/auth/htpasswd - ./reg ...
在armbian上使用snap安装neovim
概述最近搞了一台armbian的机子,想在上面安装neovim,但是发现apt上的nvim版本太低了,只有0.4.0好像。经过一番的搜索,发现Snaps可以满足我的要求。
Snaps介绍Snaps是由Canonical提供的跨分发包管理系统的工具.Snaps 基本上是一个与其依赖项和库一起编译的应用程序——为应用程序运行提供了一个沙盒环境。它们安装起来更容易、更快捷,可以接收最新更新,并且不受操作系统和其他应用程序的限制。
安装Snaps使用apt安装Snap;
1sudo apt install snapd
安装neovim使用snap安装neovim:
1sudo snap install --classic nvim
检查一下noevim的版本:
1nvim --version
输出如下:
1234NVIM v0.10.4Build type: RelWithDebInfoLuaJIT 2.1.1713484068Run "nvim -V1 -v" for more info
参考资料
如何在各种 Linux 发行版中安装和使用 Snap
在k8s中如何强制删除处于Terminating状态的namesapce
概述在k3s中删除一个namespace十分简单,就是一个命令的事儿:
1kubectl delete ns ${namespace}
但是可能存在删除失败或者namespace一直处于Terminating状态的话,那么上面的命令可能行不通。这里介绍两种实用的解决方案去帮助我们解决。
注意: 这两种方案可能存在错误删除的情况,请谨慎操作。
强制删除kubectl提供force和grace-period=0两个参数帮助我们强制删除namespace:
1kubectl delete ns ${namespace} --force --grace-period=0
说明:
–force:强制删除资源,跳过正常的删除流程。
–grace-period=0:立即删除资源,不等待任何清理操作。
使用Kubernetes API 删除获取处于Terminating状态的namespace:
1kubectl get ns |grep Terminating |awk {'print $1' ...