小编nik*_*org的帖子

使用虚拟脚本模拟 sendmail

我创建了一个小的 shell 脚本,它将所有输入记录到一个日志文件中,我以为我可以用它来替换 sendmail 二进制文件,从而实现一种简单的方法来模拟电子邮件传送,而无需实际设置一个工作的 sendmail。

然而,这失败了。由于我无法理解的原因。

我查看了 PHP mail.c 源代码,据我所知(请注意,我在 C 方面不是很有经验),PHP 直接执行并与二进制文件对话(在 中设置sendmail_path)。但是,当我用脚本替换 sendmail 二进制文件时,不会创建任何日志文件,并且替换 sendmail 的脚本在执行时将始终创建一个日志文件,无论是否存在输入。

脚本本身运行良好。它的返回码应该与sendmail 的返回码一致。不同之处在于,无论输入如何,我的脚本总是返回 0,因为我对检查输入是否有效并不真正感兴趣 - 只是我得到了一些。

是否可以实现我想要的,即使用 sendmail 模拟器?

脚本源码如下:

#!/bin/bash

LOGDIR=/tmp/sendmail-sim
NOW=$(date +%Y%m%dT%H%M)
CNT=1
FILENAME="$LOGDIR/$NOW.$CNT.log"

while [ -f $FILENAME ]; do
    CNT=$(($CNT + 1))
    FILENAME="$LOGDIR/$NOW.$CNT.log"
done

echo "$0 $*" > $FILENAME

while read BUF
do
    echo $BUF >> $FILENAME
done

exit 0
Run Code Online (Sandbox Code Playgroud)

附言。我当前的 sendmail (或者实际上是 postfix)确实从 PHP 接收电子邮件,但我不想实际发送任何电子邮件或需要在开发中挖掘其邮件队列。

macos bash sendmail

5
推荐指数
1
解决办法
2494
查看次数

验证$ _REQUEST内容是否为int

我正在尝试进行基本操作:检查字符串是否为数字.

这不起作用:

$qty = $_REQUEST[qty];
if (is_int($qty) == FALSE) {
  echo "error";
} else {
  echo "ok";
}
Run Code Online (Sandbox Code Playgroud)

这个做了:

$qty = 1;
if (is_int($qty) == FALSE) {
  echo "error";
} else {
  echo "ok";
}
Run Code Online (Sandbox Code Playgroud)

$_REQUEST[qty]发布时,AJAX请求($.post). $_REQUEST[qty]不为空且仅包含数字(1).

is_numeric()不会起作用,因为它被视为1e4一个数字.

php ajax

4
推荐指数
1
解决办法
2537
查看次数

从 HTML 列表项中删除项目符号点

#box5如何删除,#box6和中的要点#box7?我以为可以通过使用来实现#box5 a,但它不起作用。

超文本标记语言

<div id="con3">
    <!-- irrelevant markup omitted -->

    <div id="box5">
        <li><a href="#">LIAM PRICE<br>Australia</a></li>
    </div>

    <div id="box6">
        <li><a href="#">JESS KWARTZ<br>Germany</a></li>
    </div>

    <div id="box7">
        <li><a href="#">ALI JAB<br>Mexico</a></li>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

#box5 {
    margin-left: 110px;
    margin-top: 10px; 
    font-family: 'pt_serifitalic';
    font-size: 9pt;
    line-height: 16px;  
}

#box5 a {
    color:white;
    text-decoration: none;
    list-style: none;   
}
Run Code Online (Sandbox Code Playgroud)

html css

3
推荐指数
1
解决办法
8030
查看次数

节点SHA-256 Base64摘要

我有一个关于Node.js加密模块的哈希摘要的问题.

通过hello world命令行上的输入,base64编码的sha256产生:

$ echo -n "hello world"|shasum -a256|base64 -
Yjk0ZDI3Yjk5MzRkM2UwOGE1MmU1MmQ3ZGE3ZGFiZmFjNDg0ZWZlMzdhNTM4MGVlOTA4OGY3YWNlMmVmY2RlOSAgLQo=
Run Code Online (Sandbox Code Playgroud)

在Node.js(0.12.9)上做同样的事(据我所知)会产生完全不同的结果:

var crypto = require("crypto");
var shasum = crypto.createHash("sha256"); 
shasum.update("hello world", "utf-8"); 
shasum.digest("base64");
// 'uU0nuZNNPgilLlLX2n2r+sSE7+N6U4DukIj3rOLvzek='
Run Code Online (Sandbox Code Playgroud)

在Node和命令行中生成的十六进制摘要是相同的(b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9).为什么base64编码摘要的差异?

javascript digest node.js

3
推荐指数
1
解决办法
4579
查看次数

第二个链接的样式表没有任何效果

我在将第二个样式表链接到我的HTML文档时遇到问题,并且找不到(希望非常明显的)问题.

我在头部链接样式表:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<link rel="stylesheet" href="assets/css/global.css" type="text/css" media="all" title="Global styles" charset="utf-8">
<link rel="stylesheet" href="assets/css/ie.css" type="text/css" media="all" title="IE Overrides" charset="utf-8">
Run Code Online (Sandbox Code Playgroud)

问题是,秒样式表没有任何影响.扭转他们的秩序也证明了这一点.

为了测试,我在第二个样式表中加入了一个规则,使身体背景变红,甚至尝试添加!important,但无济于事.

/* Global CSS */
body {
    background-color: #fff;
}

/* IE CSS */
body {
    background-color: #f00 !important;
}
Run Code Online (Sandbox Code Playgroud)

Firebug网络面板显示两个样式表都加载,样式面板显示两个样式,但后者的规则不做深蹲.

这让我感到困惑,因为它是非常非常基本的东西,我之前已经成功完成了数百次.

html css

2
推荐指数
1
解决办法
1684
查看次数

指定在char数组c中启动strlen()的位置

假设我有以下字符数组.我需要知道是否有办法获得数组中第二个字符串的长度.我知道我可以使用strlen,但这给了我第一个字符串的长度.

#include <stdio.h>
int main()
{
     char greeting[20]={'P','H','O','N','E','\0','6','0','1','7','1','2','1','2','1','6','\0'};
int count;
count=strlen(greeting);  // this returns the length of first string which is 5
}
Run Code Online (Sandbox Code Playgroud)

c arrays string

2
推荐指数
1
解决办法
126
查看次数

访问POST数据中的多维数组

在我的应用程序POST变量包含一些数组.如何循环POST变量以获取PHP中POST变量中键的数组数据.任何帮助表示赞赏.

php arrays post multidimensional-array

0
推荐指数
1
解决办法
3517
查看次数

SQL插入/更新问题

我试图从另一个表更新一个表,只要客户记录存在,我就能更新,但有一些条目不.

为了解决这个问题,我尝试运行以下插入

SELECT * 
INTO SalBudgetCust 
FROM SalBudgetCust_temp 
WHERE NOT EXISTS (
    SELECT Customer 
    FROM SalBudgetCust 
    WHERE Customer = SalBudgetCust_temp.Customer
)
Run Code Online (Sandbox Code Playgroud)

但我提示

There is already an object named 'SalBudgetCust' in the database.
Run Code Online (Sandbox Code Playgroud)

我坚持到这一点......任何人都可以提供一点指导吗?

sql

0
推荐指数
1
解决办法
125
查看次数

为什么我的CSS媒体查询被忽略了?

我试图让这块CSS在我的ipad上工作,但它似乎忽略了媒体查询并使用默认的包装CSS代替.有没有办法阻止这种情况发生?

@media only screen and (max-width: 1024px) and (max-height: 768px) {
    #wrapper {
        position:absolute; 
        z-index:1;
        top:41px;
        width:150px;
        height:300px;
    }    
}

#wrapper {
    position:absolute; 
    z-index:1;
    top:41px; 
    bottom:0px; 
    left:0;
    width:100%;
    height:800px;
    overflow:auto;
}
Run Code Online (Sandbox Code Playgroud)

html css media-queries

0
推荐指数
1
解决办法
2710
查看次数