批量添加用户 - iredmail - bash脚本

需求:自动生成用户名和密码,使用 iredmail 的脚本导入。
尝试:

#!/bin/bash
#For Loop to Read Three-expression

rm -rf /tmp/users.txt
rm -rf /tmp/users.sql

for ((i=1; i<=3; i++))
do
# echo "$i"
USER=$(strings /dev/urandom |tr -dc a-z0-9 | head -c8)
PWD=$(strings /dev/urandom |tr -dc a-z0-9 | head -c8)
DOMAIN="lan.anqun.org"

# echo $USER $PWD
# echo $USER '($PWD)'
echo $USER@$DOMAIN $PWD >> /tmp/users.txt
bash create_mail_user_SQL.sh $USER@$DOMAIN $PWD >> /tmp/users.sql
done

参考:

小虫子能蹦跳且会吐丝

昨天我买菜往家回,走着时无意瞥到上衣粘着个“东西”,它是淡黄、条状的。我以为是碎树叶之类的,想用手指弹开它。我凑近一看,它不是全直的,有个转弯,象只钩子。我再细看,它底部有几个小点粘在衣服的表面,哦,这是条小虫。我走到垃圾桶旁,从青菜叶里撕下一小片,打算用菜叶将小虫从衣服上拨下来。试了几次,没成功,它粘得很稳当。我尝试将菜叶平放得像张纸般,贴着衣服表面慢慢去刮。好不容易将小虫刮到菜叶上后,我正要将它连带着菜叶一起扔到垃圾桶。不料,我眼前瞬间一闪,它蹦回到我的衣服上,速度很快,我都没反映过来。我只好又重新刮,且我打算要快速地将菜叶扔到垃圾桶,不给它机会蹦跳回来。嘿嘿,我动作很快地完成了任务,菜叶扔进了垃圾桶。我正得意,但当我平伸出去的手还没收回来时,看到身前好像晃悠着一件小东西。我愣了一会,瞧清楚后,发现小虫子在我甩手扔菜叶时,迅捷地吐出了看不见的丝线,粘到我的手上,现在它正靠着这纤丝,在我面前荡着秋千呢。它会带毛,会“杜”人吗?我慌了,赶紧狠命地上下摆动手掌,要将这虫子震从“秋千”上震下来。果然,它经不起震,八足朝天地躺到垃圾桶的边沿上了,一动也不动。

使用 curl 批量向 iredmail 提交新邮箱用户和密码

需求:iredmail 免费版没有 api,除了官方带的工具外,有没其它方法可以批量创建账号呢?

尝试:可以使用 curl 来提交表单,用脚本循环提交。

##
# Configurations.
##

read -p "请输入iredmain管理台的登录网址URL,如 https://mail.anqun.org/iredadmin/login: " login_url
read -p "请输入iredmail的创建用户网址URL,如 https://mail.anqun.org/iredadmin/create/user: " create_url
read -p "请输入邮局的管理员用户名,如 postmaster@lan.anqun.org: " username
read -p "请输入邮局的管理员用密码: " password

read -p "请输入要添加用户的域名,如 lan.anqun.org: " domainname
read -p "请输入要添加用户的个数,如 100: " number

rm iredmail-users.txt
rm tmpcs.txt
rm cookie

# Path to temporary file which will store your cookie data.
cookie_path=cookie

action_url="$create_url/$domainname"

##
# Logic. Most likely you shouldn't change here anything.
##

curl -i -b $cookie_path -c $cookie_path -d "username=$username&password=$password" "$login_url"

curl -i -b $cookie_path -c $cookie_path -o tmpcs.txt --request GET "$action_url"

csrf_token=$(grep -oP '(?<=<input type="hidden" name="csrf_token" value=")[^"]*' tmpcs.txt)


for ((i=1; i<=$number; i++))
    do
        mailuser=$(strings /dev/urandom |tr -dc a-z0-9 | head -c8)
        mailpasswd=$(strings /dev/urandom |tr -dc a-z0-9 | head -c8)
        echo $mailuser@$domainname  $mailpasswd >> iredmail-users.txt

        data="csrf_token=$csrf_token&domainName=$domainname&username=$mailuser&newpw=$mailpasswd&confirmpw=$mailpasswd&cn=&preferredLanguage=en_US&mailQuota=1024&submit_add_user=Add"
        curl -i --cookie cookie --data "${data}" "$action_url"
done

参考:https://www.drupal.org/node/2045751

我退了在“某升”京东自营店买的乳胶床垫

以时间线说吧,可能会明了些。

  1. 2023-10-24 日京东提前搞“双11”促销,我在“某升京东自营官方旗舰店”买了张1.8米大、5厘米厚的乳胶床垫(京东网商品编号627017288XX),约八百元。去年我曾买过一张1.5米的,今年想再买一张1.8米的。商品显示是由京东发货和售后
  2. 25日,收到床垫。我拆包装时,发现附带有几张打印的检测证书和一份质量承诺书。我有疑问,因为检测证书出具的日期是2021年03月19日,质量承诺书的落款是另一个公司的名称
  3. 26日,我通过京东网站,联系到商家的在线客服,要看完整的电子版检测证书。商家客服发给我多个图片,显示是一份由“中检(深圳)环境技术服务有限公司”出具的,编号为447819034007的检测证书,这与之前看到的印刷版证书编号一样,但日期更新为2023年03月07日。我通过电子邮件联系到“中检(深圳)环境技术服务有限公司”,它回复说“不曾出具这份报告”
  4. 27日上午,我再次联系商家的在线客服,告诉编号为447819034007的检测证书是不可查实的。在线客服说下午再联系。下午,我找到商家在线客服,他发给我另外一份由“广州检验检测认证集团有限公司”出具的,编号为230003366,防伪码为HDRP-7377-04的检测证书。但我从网上查询到,这个编号的证书是“江苏爱德福乳胶制品有限公司”送检的。商家修改了原证书的内容。商家的在线客服两次都发了假的证书,我觉得无法再与商家沟通,所以我打了京东的售后电话,反馈了商家的产品页面描述、随实物夹带的印刷证书和最近提交的电子版证书有虚假内容
  5. 28日上午,京东客服来电,问我有什么诉求。我说床垫既然没有经过气味(甲醛)检测,就不应该在页面上用大图片展示检测证书。我对商家多次提供假证书的做法,很生气。我不想仅退货,还想请京东“处罚”商家,要让商家删除页面上的虚假描述内容。我不仅想把前几天买的要退货,连去年买的也想退。京东客服说去年的床垫超时退货时效了,如果对前几天买的床垫作退货处理不满意,要“升级”售后处理流程,晚上七点前会再次来电话。下午,我通过微信(去年添加的)联系商家,商家大概意思是说,床垫质量没问题,证书是从供应商那拿来改的,让我不要纠结证书的问题。如果质量有问题,说我今年也不会再买第二张床垫。如果怀疑质量有问题,让我自行将床垫送去检测。18:54分,京东来电话,我洗澡,没接听到。我洗澡后出来,看到京东发的短信,说第二天21点前会再次电话呼叫。我主动打电话给京东售后,想知道床垫的事情怎么处理,但京东接电话的说要等“升级后客服”的主动呼出电话
  6. 29日,我没接听到京东售后的电话
  7. 30日,我从京东网站,将床垫的订单以“商品与页面描述不符”为由申请退货。约三个小时后,京东售后打电话来,确认可退货
  8. 31日,京东快递小哥上门取走床垫
  9. 次日,京东通知,床垫已退款

为 magento 网站后台启用双因素身份验证登录 - 谷歌身份验证器 - Two-Factor Authentication - google authenticator

需求:magento 2.4 以上版本默认为网站后台启用双因素身份验证登录,假如主机不支持smtp发信,怎么办呢?

尝试:

  1. bin/magento config:set twofactorauth/general/force_providers google # 设置使用谷歌验证器
  2. bin/magento config:set twofactorauth/google/otp_window 60 # 设置验证码有效期一分钟
  3. bin/magento security:tfa:google:set-secret liujia NJUGMZZUPFSGEZDHBI====== # 为 liujia 用户设置 NJUGMZZUPFSGEZDHBI====== 密钥;可在linux里使用 echo jhfg4ydbdg | base32 的命令来生成密钥
  4. 在谷歌浏览器里,安装“身份验证器”的扩展。添加新项,手工输入标识和密钥
  5. 在 magento 里登录,会提示输入由谷歌身份验证器生成的动态验证码,六位数字

首次登录,会提示需按邮件内容启用2fa
图1:首次登录,会提示需按邮件内容启用2fa

手工输入密钥后,谷歌身份验证器会动态生成验证码
图2:手工输入密钥后,谷歌身份验证器会动态生成验证码

登录网站后台时,会提示输入动态验证码
图3:登录网站后台时,会提示输入动态验证码

参考: