wppaste
WordPress

PHPMailer::createHeader(): string

Source
wp-includes/PHPMailer/PHPMailer.php:2850
Assemble message headers.

Compatibility

WordPress
core
PHP
7.4–8.6-dev
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0), and compiles on PHP 7.4 through 8.6-dev.

Return value

string
The assembled headers

Performance profile

How much work a call to PHPMailer::createHeader() does, and what it touches: the algorithmic scaling, the Zend instruction count per call across PHP versions, the hooks it hands control to, and the core code that calls it. Measured from the compiled opcodes, not a stopwatch, so every number is identical on any machine running the same PHP version, and every function in core is ranked by cost.

Cost class
Light

Touches nothing outside its own arguments.

Scaling
Scales with input

The body loops, so the work grows with how much data it finds.

Instructions
78–152

Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 223.

Plugin surface
None

Nothing here hands control to plugin code.

Called by
0

Nothing in core calls this; the cost is only what you spend yourself.

What one call costs · 192 distinct outcomes

One number would be a lie: the work depends on which branch runs. These are every distinct cost PHPMailer::createHeader() can have, taken from its control-flow graph on PHP 8.5.

WhenInstructionsCalls it makes
always78–89::sanitiseDate(), ->headerLine(), ->headerLine()
always81–95::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine()
always84–97::sanitiseDate(), ->headerLine(), ->headerLine(), ->headerLine()
always85–93::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine()
always86–97::sanitiseDate(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always87–103::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine()
always88–99::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine()
always89–103::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->getMailMIME()
always91–101::sanitiseDate(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always91–101::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine(), ->headerLine()
always91–99::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine()
always92–99::sanitiseDate(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
180 further outcomes, up to 152 instructions
always92–100::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine()
always92–105::sanitiseDate(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always93–101::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine(), ->headerLine(), ->getMailMIME()
always94–110::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine()
always94–107::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine()
always94–105::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine()
always95–105::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine()
always95–106::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine()
always95–111::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always96–107::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->getMailMIME()
always97–107::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine()
always98–108::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine(), ->headerLine(), ->headerLine()
always98–108::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine(), ->headerLine()
always98–106::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine()
always99–103::sanitiseDate(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
always99–103::sanitiseDate(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always99–103::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine(), ->secureHeader(), ->headerLine()
always99–109::sanitiseDate(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always99–109::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always99–107::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always100–107::sanitiseDate(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always100–107::sanitiseDate(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always100–108::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine(), ->headerLine(), ->getMailMIME()
always100–113::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine()
always101–114::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine()
always101–114::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine()
always101–112::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine()
always102–112::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
always102–112::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always102–109::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine()
always102–118::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always102–115::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always102–113::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->getMailMIME()
always103–113::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always103–113::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always103–114::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->getMailMIME()
always104–114::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always104–114::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine()
always105–115::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine(), ->headerLine(), ->headerLine()
always105–109::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
always105–113::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine()
always105–115::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always106–110::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
always106–110::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always106–110::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine(), ->secureHeader(), ->headerLine()
always106–116::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always106–116::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always106–114::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always107–111::sanitiseDate(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always107–111::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always107–111::sanitiseDate(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always107–111::sanitiseDate(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always107–111::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always107–120::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine()
always107–120::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine()
always108–115::sanitiseDate(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always108–121::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine()
always108–115::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine()
always108–119::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine()
always108–121::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always109–116::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
always109–116::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always109–116::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine()
always109–122::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always109–122::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always109–120::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->getMailMIME()
always110–120::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always110–117::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always110–120::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always110–120::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always110–117::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always111–121::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always111–121::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always111–121::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine()
always112–116::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
always112–116::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always112–116::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
always112–122::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always112–122::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always113–117::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
always113–117::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always113–117::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always113–123::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always113–117::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always113–121::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always114–118::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always114–118::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always114–118::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always114–118::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always114–118::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always114–127::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine()
always114–127::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine()
always115–119::sanitiseDate(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always115–119::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always115–122::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
always115–122::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always115–122::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine()
always115–128::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always115–128::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always116–123::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
always116–123::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always116–123::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always116–129::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always116–123::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always116–127::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->getMailMIME()
always117–124::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always117–124::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always117–124::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always117–124::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always117–124::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always118–128::sanitiseDate(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always118–125::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always118–128::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always119–123::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
always119–123::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always119–123::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
always119–129::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always119–129::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always120–124::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always120–124::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always120–124::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always120–124::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always120–124::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always121–125::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always121–125::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always121–125::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always121–125::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always121–134::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine()
always122–126::sanitiseDate(), ->headerLine(), ->addrAppend(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always122–126::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always122–129::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
always122–129::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always122–129::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine()
always122–135::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always122–135::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always123–130::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always123–130::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always123–130::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always123–130::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always123–130::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always124–131::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always124–131::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always124–131::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always124–131::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always125–132::sanitiseDate(), ->headerLine(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always125–132::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always126–130::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
always126–130::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always126–136::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always127–131::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always127–131::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always127–131::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always127–131::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always127–131::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always128–132::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always128–132::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always129–133::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always129–136::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine()
always129–136::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine()
always129–142::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always130–137::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always130–137::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always130–137::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always130–137::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always130–137::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always131–138::sanitiseDate(), ->headerLine(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always131–138::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always132–139::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always134–138::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always134–138::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always134–138::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always135–139::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always135–139::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always137–144::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine()
always137–144::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->getMailMIME()
always137–144::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always138–145::sanitiseDate(), ->headerLine(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always138–145::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always142–146::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()
always145–152::sanitiseDate(), ->headerLine(), ->addrAppend(), ->addrAppend(), ->secureHeader(), ->encodeHeader(), ->headerLine(), ->serverHostname(), ->headerLine(), ->headerLine(), ->secureHeader(), ->headerLine(), ->headerLine(), ->headerLine(), ->getMailMIME()

This body has more branch combinations than are worth enumerating, so the table covers the outcomes found first rather than every one that exists.

Across PHP versions

PHPCompiledExecutedBranchesNotes
8.6-dev22378–15223
8.522378–15223
8.422378–1522313 fewer instructions than PHP 8.3
8.323683–16123
8.223683–16123
8.123683–16123
7.423683–16123

An instruction is not a fixed amount of time, so a matching count is not necessarily the same speed; what it rules out is a difference in the work itself.

Uses · 8

  • \PHPMailer\PHPMailer\PHPMailer::headerLine()
  • \PHPMailer\PHPMailer\PHPMailer::sanitiseDate()
  • \PHPMailer\PHPMailer\PHPMailer::addrFormat()
  • \PHPMailer\PHPMailer\PHPMailer::addrAppend()
  • \PHPMailer\PHPMailer\PHPMailer::encodeHeader()
  • \PHPMailer\PHPMailer\PHPMailer::secureHeader()
  • \PHPMailer\PHPMailer\PHPMailer::serverHostname()
  • \PHPMailer\PHPMailer\PHPMailer::getMailMIME()

Source code

    public function createHeader()    {        $result = '';         $result .= $this->headerLine(            'Date',            self::sanitiseDate($this->MessageDate)        );         //The To header is created automatically by mail(), so needs to be omitted here        if ('mail' !== $this->Mailer) {            if ($this->SingleTo) {                foreach ($this->to as $toaddr) {                    $this->SingleToArray[] = $this->addrFormat($toaddr);                }            } elseif (count($this->to) > 0) {                $result .= $this->addrAppend('To', $this->to);            } elseif (count($this->cc) === 0) {                $result .= $this->headerLine('To', 'undisclosed-recipients:;');            }        }        $result .= $this->addrAppend('From', [[trim($this->From), $this->FromName]]);         //sendmail and mail() extract Cc from the header before sending        if (count($this->cc) > 0) {            $result .= $this->addrAppend('Cc', $this->cc);        }         //sendmail and mail() extract Bcc from the header before sending        if (            (                'sendmail' === $this->Mailer || 'qmail' === $this->Mailer || 'mail' === $this->Mailer            )            && count($this->bcc) > 0        ) {            $result .= $this->addrAppend('Bcc', $this->bcc);        }         if (count($this->ReplyTo) > 0) {            $result .= $this->addrAppend('Reply-To', $this->ReplyTo);        }         //mail() sets the subject itself        if ('mail' !== $this->Mailer) {            $result .= $this->headerLine('Subject', $this->encodeHeader($this->secureHeader($this->Subject)));        }         //Only allow a custom message ID if it conforms to RFC 5322 section 3.6.4        //https://www.rfc-editor.org/rfc/rfc5322#section-3.6.4        if (            '' !== $this->MessageID &&            preg_match(                '/^<((([a-z\d!#$%&\'*+\/=?^_`{|}~-]+(\.[a-z\d!#$%&\'*+\/=?^_`{|}~-]+)*)' .                '|("(([\x01-\x08\x0B\x0C\x0E-\x1F\x7F]|[\x21\x23-\x5B\x5D-\x7E])' .                '|(\\[\x01-\x09\x0B\x0C\x0E-\x7F]))*"))@(([a-z\d!#$%&\'*+\/=?^_`{|}~-]+' .                '(\.[a-z\d!#$%&\'*+\/=?^_`{|}~-]+)*)|(\[(([\x01-\x08\x0B\x0C\x0E-\x1F\x7F]' .                '|[\x21-\x5A\x5E-\x7E])|(\\[\x01-\x09\x0B\x0C\x0E-\x7F]))*\])))>$/Di',                $this->MessageID            )        ) {            $this->lastMessageID = $this->MessageID;        } else {            $this->lastMessageID = sprintf('<%s@%s>', $this->uniqueid, $this->serverHostname());        }        $result .= $this->headerLine('Message-ID', $this->lastMessageID);        if (null !== $this->Priority) {            $result .= $this->headerLine('X-Priority', $this->Priority);        }        if ('' === $this->XMailer) {            //Empty string for default X-Mailer header            $result .= $this->headerLine(                'X-Mailer',                'PHPMailer ' . self::VERSION . ' (https://github.com/PHPMailer/PHPMailer)'            );        } elseif (is_string($this->XMailer) && trim($this->XMailer) !== '') {            //Some string            $result .= $this->headerLine('X-Mailer', $this->secureHeader(trim($this->XMailer)));        } //Other values result in no X-Mailer header         if ('' !== $this->ConfirmReadingTo) {

Changelog

Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.1.0 tag, from src/wp-includes/PHPMailer/PHPMailer.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.