{
    "mode": "man",
    "parameter": "smtp-source",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/smtp-source/1/json",
    "generated": "2026-05-30T05:11:54Z",
    "synopsis": "smtp-source [options] [inet:]host[:port]\nsmtp-source [options] unix:pathname",
    "sections": {
        "NAME": {
            "content": "smtp-source - parallelized SMTP/LMTP test generator\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "smtp-source [options] [inet:]host[:port]\n\nsmtp-source [options] unix:pathname\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "smtp-source  connects to the named host and TCP port (default: port 25) and sends one or more\nmessages to it, either sequentially or in parallel. The program speaks either SMTP  (default)\nor LMTP.  Connections can be made to UNIX-domain and IPv4 or IPv6 servers.  IPv4 and IPv6 are\nthe default.\n\nNote: this is an unsupported test program. No attempt is made to maintain  compatibility  be‐\ntween successive versions.\n\nArguments:\n",
            "subsections": [
                {
                    "name": "-4",
                    "content": "out IPv6 support.\n",
                    "flag": "-4"
                },
                {
                    "name": "-6",
                    "content": "without IPv6 support.\n",
                    "flag": "-6"
                },
                {
                    "name": "-A",
                    "content": "code.\n",
                    "flag": "-A"
                },
                {
                    "name": "-c",
                    "content": "pletes.\n",
                    "flag": "-c"
                },
                {
                    "name": "-C",
                    "content": "When  a host sends RESET instead of SYN|ACK, try count times before giving up. The de‐\nfault count is 1. Specify a larger count in order to work around a problem with TCP/IP\nstacks that send RESET when the listen queue is full.\n",
                    "flag": "-C"
                },
                {
                    "name": "-d",
                    "content": "tion.\n",
                    "flag": "-d"
                },
                {
                    "name": "-f",
                    "content": "Use the specified sender address (default: <foo@myhostname>).\n",
                    "flag": "-f"
                },
                {
                    "name": "-F",
                    "content": "Send the pre-formatted message header and body in the specified file, while prepending\n'.' before lines that begin with '.', and while appending CRLF after each line.\n",
                    "flag": "-F"
                },
                {
                    "name": "-l",
                    "content": "Send length bytes as message payload. The length does not include message headers.\n",
                    "flag": "-l"
                },
                {
                    "name": "-L",
                    "content": "",
                    "flag": "-L"
                },
                {
                    "name": "-m",
                    "content": "Send the specified number of messages (default: 1).\n",
                    "flag": "-m"
                },
                {
                    "name": "-M",
                    "content": "Use  the specified hostname or [address] in the HELO command and in the default sender\nand recipient addresses, instead of the machine hostname.\n",
                    "flag": "-M"
                },
                {
                    "name": "-N",
                    "content": "tificial  100%  hit  rate  in  the resolve and rewrite client caches and exercises the\ntrivial-rewrite daemon,  better  approximating  Postfix  performance  under  real-life\nwork-loads.\n",
                    "flag": "-N"
                },
                {
                    "name": "-o",
                    "content": "",
                    "flag": "-o"
                },
                {
                    "name": "-r",
                    "content": "Send the specified number of recipients per transaction (default: 1).  Recipient names\nare generated by prepending a number to the recipient address.\n",
                    "flag": "-r"
                },
                {
                    "name": "-R",
                    "content": "Wait for a random period of time 0 <= n <= interval between messages.  Suspending  one\nthread does not affect other delivery threads.\n",
                    "flag": "-R"
                },
                {
                    "name": "-s",
                    "content": "Run the specified number of SMTP sessions in parallel (default: 1).\n",
                    "flag": "-s"
                },
                {
                    "name": "-S",
                    "content": "Send mail with the named subject line (default: none).\n",
                    "flag": "-S"
                },
                {
                    "name": "-t",
                    "content": "",
                    "flag": "-t"
                },
                {
                    "name": "-T",
                    "content": "Override  the default TCP window size. To work around broken TCP window scaling imple‐\nmentations, specify a value > 0 and < 65536.\n",
                    "flag": "-T"
                },
                {
                    "name": "-v",
                    "content": "",
                    "flag": "-v"
                },
                {
                    "name": "-w",
                    "content": "Wait a fixed time between messages.  Suspending one thread does not affect  other  de‐\nlivery threads.\n\n[inet:]host[:port]\nConnect via TCP to host host, port port. The default port is smtp.\n\nunix:pathname\nConnect to the UNIX-domain socket at pathname.\n",
                    "flag": "-w"
                }
            ]
        },
        "BUGS": {
            "content": "No SMTP command pipelining support.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "smtp-sink(1), SMTP/LMTP message dump\n",
            "subsections": []
        },
        "LICENSE": {
            "content": "The Secure Mailer license must be distributed with this software.\n\nAUTHOR(S)\nWietse Venema\nIBM T.J. Watson Research\nP.O. Box 704\nYorktown Heights, NY 10598, USA\n\nWietse Venema\nGoogle, Inc.\n111 8th Avenue\nNew York, NY 10011, USA\n\n\n\nSMTP-SOURCE(1)",
            "subsections": []
        }
    },
    "summary": "smtp-source - parallelized SMTP/LMTP test generator",
    "flags": [
        {
            "flag": "-4",
            "long": null,
            "arg": null,
            "description": "out IPv6 support."
        },
        {
            "flag": "-6",
            "long": null,
            "arg": null,
            "description": "without IPv6 support."
        },
        {
            "flag": "-A",
            "long": null,
            "arg": null,
            "description": "code."
        },
        {
            "flag": "-c",
            "long": null,
            "arg": null,
            "description": "pletes."
        },
        {
            "flag": "-C",
            "long": null,
            "arg": null,
            "description": "When a host sends RESET instead of SYN|ACK, try count times before giving up. The de‐ fault count is 1. Specify a larger count in order to work around a problem with TCP/IP stacks that send RESET when the listen queue is full."
        },
        {
            "flag": "-d",
            "long": null,
            "arg": null,
            "description": "tion."
        },
        {
            "flag": "-f",
            "long": null,
            "arg": null,
            "description": "Use the specified sender address (default: <foo@myhostname>)."
        },
        {
            "flag": "-F",
            "long": null,
            "arg": null,
            "description": "Send the pre-formatted message header and body in the specified file, while prepending '.' before lines that begin with '.', and while appending CRLF after each line."
        },
        {
            "flag": "-l",
            "long": null,
            "arg": null,
            "description": "Send length bytes as message payload. The length does not include message headers."
        },
        {
            "flag": "-L",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-m",
            "long": null,
            "arg": null,
            "description": "Send the specified number of messages (default: 1)."
        },
        {
            "flag": "-M",
            "long": null,
            "arg": null,
            "description": "Use the specified hostname or [address] in the HELO command and in the default sender and recipient addresses, instead of the machine hostname."
        },
        {
            "flag": "-N",
            "long": null,
            "arg": null,
            "description": "tificial 100% hit rate in the resolve and rewrite client caches and exercises the trivial-rewrite daemon, better approximating Postfix performance under real-life work-loads."
        },
        {
            "flag": "-o",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-r",
            "long": null,
            "arg": null,
            "description": "Send the specified number of recipients per transaction (default: 1). Recipient names are generated by prepending a number to the recipient address."
        },
        {
            "flag": "-R",
            "long": null,
            "arg": null,
            "description": "Wait for a random period of time 0 <= n <= interval between messages. Suspending one thread does not affect other delivery threads."
        },
        {
            "flag": "-s",
            "long": null,
            "arg": null,
            "description": "Run the specified number of SMTP sessions in parallel (default: 1)."
        },
        {
            "flag": "-S",
            "long": null,
            "arg": null,
            "description": "Send mail with the named subject line (default: none)."
        },
        {
            "flag": "-t",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-T",
            "long": null,
            "arg": null,
            "description": "Override the default TCP window size. To work around broken TCP window scaling imple‐ mentations, specify a value > 0 and < 65536."
        },
        {
            "flag": "-v",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-w",
            "long": null,
            "arg": null,
            "description": "Wait a fixed time between messages. Suspending one thread does not affect other de‐ livery threads. [inet:]host[:port] Connect via TCP to host host, port port. The default port is smtp. unix:pathname Connect to the UNIX-domain socket at pathname."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "smtp-sink",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/smtp-sink/1/json"
        }
    ]
}