PHP

PHP socket programming to get content with post method

CK CK 3788 
Created at  
411 0 0

When you need to get content with POST method in PHP internal code, you need to get the desired result through alternate socket programming as below.

Actually what I wanted is emailing through alternate server located in different domain, because the current server has some limitation.

The following code is implemented at caller server.

<?php
// caller page : kmail.php
// programmed by Super Coder / Chunun Kang (kurapa@kurapa.com)
function kmail( $recipient, $subject, $body)
{
  $host = "foo.com";
  $uri = "/api/kmail_api.php";

  // acutally security code is removed on below code.
  // you can add it by yourself.
  $reqbody = "s=" . urlencode($subject)
           . "&b=" . urlencode($body)
           . "&f=" . urlencode('SAMSUNGDForum')
           . "&h=" . urlencode($headers)
           . "&r=" . urlencode($recipient);

  $contentlength = strlen($reqbody);
  $reqheader = "POST $uri HTTP/1.0xdxa".
  "Host: $hostxdxa". "User-Agent: Mozalaxdxa".
  "Content-Type: application/x-www-form-urlencodedxdxa".
  "Content-Length: $contentlengthxdxaxdxa".
  "$reqbodyxdxa";
  $socket = fsockopen($host, 80, $errno, $errstr);
  if (!$socket)
  {
    $result["errno"] = $errno;
    $result["errstr"] = $errstr;
    return $result;
  }
  fputs($socket, $reqheader);
  while (!feof($socket))
  {
    $result[] = fgets($socket, 4096);
  }
  fclose($socket);
  return $result;
}


In addition you need to add following callee PHP page on your callee server.

<?php
    // callee page : /api/kmail.php
    // programmed by Super Coder / Chunun Kang (kurapa@kurapa.com)

    $title = '=?utf-8?b?'.base64_encode($s).'?=';
    $recipient = $r;

    if (strlen($h)<1)
    {
      if (strlen($f)>0)
      {
        $h = "From: $f <no-reply@foo.com> ";
      }
      else
      {
        $h = "From: NO-REPLY <no-reply@foo.com> ";
      }
      $h .= "X-Sender: no-reply@foo.com ";
      $h .= "X-Mailer: Mozala PHP ".phpversion()." ";
    }
    
    mail($recipient , $title, $b, $h);
?>

 

Finally what you need to do is including above caller page to call kmail function.

include "./kmail.php";
kmail( "foo@foo.com", "howdy?", "test message from Chunun Kang (kurapa@kurapa.com");

 

Tags BR tag CR LF PHP PHP Socket Programming POST Method Socket Programming Facebook X
Comments 0
Similar posts
  1. Email Validation Snipet in PHP
    381
  2. PHP function converts new line to BR tag
    562
  3. Date format validation in PHP
    571
  4. Get Remote IP Address in PHP
    499
  5. How to remove HTML tags in text string?
    405
  6. Directory listing in PHP
    513
  7. Seconds to String in PHP
    437
  8. How to get the duration between days in PHP
    424
  9. Human readable random string for captchas in PHP
    560
  10. Uploading files to Amazon S3 with REST API in PHP
    842
  11. How to delete file on certain path ?
    390
  12. ASCII Artwork Generator from image file
    471
  13. How to limit by Timeout when opening URL ?
    459
  14. How to put timeout when opening URL by fopen ?
    441
  15. How to create private URL on S3/CloudFront with time-limit ?
    919
  16. How to convert W3C Date Time Format ?
    456
  17. Get the actual filesize for a size above 2GB in Windows
    431
  18. HTML redirection in PHP
    400
  19. Function can extract file name in string having full path in PHP
    568
  20. ISO 8601 format time format string conversion
    539
  21. How to download a file from a certain URL to server ?
    421
  22. How to extract file name from given URL ?
    444
  23. File downloading via HTTP
    447
  24. How to block a connection from the certain site ?
    353
  25. XMLRPC example
    763
  26. How to upload attachments such as image by metaWeblog API ?
    393
  27. How to post blog content by metaweblog API ?
    488
  28. Posting to a Wordpress Blog Via XMLRPC Using Blogger API
    767
  29. foreach loop
    450
  30. Can PHP switch in strings ?
    396
  1. PHP Code can know the current OS is windows or not
    584
  2. Checking similarity between two strings in PHP
    675
  3. Simple PHP calendar
    479
  4. Simple PHP code performance measuring example
    792
  5. Convert plain HTML to XHTML
    453
  6. GD library version in PHP
    505
  7. JSON format control in PHP
    693
  8. mysql optimization – if you are using Word Press, do not turn off persistent connection
    593
  9. File downloading function through PHP code
    532
  10. Image file resizing in PHP
    562
  11. Apache server unstable detection and the related server(mysql, apache) restart automatically
    538
  12. How to set AUTO_INCREMENT ID in mySQL ?
    607
  13. Parsing XML in PHP
    1,192
  14. Unzip a ZIP file in PHP
    503
  15. How to get browser information in PHP?
    855
  16. PHP Switch Example
    430
  17. How to send email in PHP ?
    894
  18. How to pass variables via url
    471
  19. How to declare array in PHP like C/C++
    674
  20. PHP date and time formatting
    431
  21. How to redirect browser in PHP ?
    488
  22. How to get current filename as variable ?
    772
  23. email validation, simple
    417
  24. How to ban / block IP addresses
    512
  25. for loop - simple
    449
  26. form action - detect form post
    431
  27. How to make random number ?
    521
  28. How to force cookies, disable php sessid in URL ?
    560
  29. How to check if a file exists ?
    789
  30. How to include a file with error reporting ?
    431
Recently updated
  1. Why 100% SEO Guarantees Better User Engagement and How to Achieve It in Your Service
    42
  2. Why SPF and DKIM Are Essential for Linux Email Servers?
    36
  3. How do I create animated background for Google Meet?
    21,017
  4. MaxMind GeoLite2 vs. DB-IP Lite vs. ip-api.com: Choosing the Right Free IP Geolocation Solution
    251
  5. Meet Valkey: Why Redis Changed Its License, Why Valkey is Better, and How to Use It as a Drop-in Replacement
    94
  6. How Rogue Web Scrapers Are Stealing My Content and Destroying My Server
    157
  7. Array of arguments passed to script in PHP
    90
  8. Invalid Auction Storms in Ad Tech
    98
  9. Building MRC-Compliant Instrumentation in Ad Tech: Implementation Steps and Key Challenges
    202
  10. The Two Clocks of Ad Server Architecture
    70
  11. Frequency Cap Architecture Overview
    515
  12. Collecting Proof-of-Play from 100,000 Screens
    146
  13. Vector Search in Relational Databases (RDBs): Trends & Usage Environments
    288
  14. What is RedisVL?
    109
  15. Designing a Skill Registry Architecture: Minimize Token Usage and Maximize AI Performance
    232
  16. TPU & GPU Cluster Management Tools
    245
  17. The Concept of Scaffolding in AI Agents
    234
  18. Beyond Static Pipelines: Architecting LLM Multi-Agent Systems for Autonomous Workflow Orchestration
    583
  19. AI-DLC vs. AI-SDLC: Model-Centric vs. System-Centric AI Development
    259
  20. Fine-Tuning Open-Weight LLMs: Training, Licensing, and Deploying Custom Models with Ollama
    339
  21. Inside the Next-Generation Streaming Architecture: Ultra-Low Latency, SGAI, and AI Codecs
    202
  22. Machine Learning: Training vs. Ranking
    222
  23. The Continuous Learning Machine: Designing a Loop That Actually Turns
    222
  24. The Next-Gen Low-Latency Standards: LL-HLS & MoQ
    195
  25. Designing a Data Curation System Around a Vector Database
    221
  26. Extracting Context from Live Video: The Architecture Got Simpler When We Stopped Building Features
    256
  27. The New Ad Stack Behind Live Sports Streaming: Inside SGAI, EABN, and the Standards Race to Fix Live Monetization
    656
  28. Designing MLOps Architectures to Handle Seasonal Data Drift in EV Fleet Models
    196
  29. From 15 to 40+ FPS: Accelerating PyTorch Object Detection on Automotive ECUs
    219
  30. Understanding Data Lineage
    262