---
title: "Fråga om sockets och POP3"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/136954-fråga-om-sockets-och-pop3"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "andreaswebb"
published: "2005-11-04T14:52:39.000Z"
updated: "2005-11-04T19:26:55.000Z"
replies: 4
views: 261
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/136954-fråga-om-sockets-och-pop3"
---

# Fråga om sockets och POP3

## #1 — andreaswebb, 2005-11-04T14:52Z

Hej!

Första omgången med sockets för mig. Jag försöker bara på skojj kommunicera med en POP3-server. 

```php
<?php
$server = fsockopen('localhost', 110);

define ('SOCKET', $server);

$fas = 1;
while(SOCKET){
	echo(fgets(SOCKET, 4096));
	
	if($fas == 1) {
		fputs(SOCKET, 'USER andreas', 512);
		$fas++;
	} else if ($fas == 2) {
		fputs(SOCKET, 'PASS hej', 512);
	}
		
}

?>
```

När jag kör filen genom php-cgi.exe så får jag bara upp serverns välkomsmeddelande, sen är det stopp. Jag har studerat lite andra skript, och tycker att de är konstruerade på liknande sätt. Någon som kan ge lite tips om på vad som kan vara tokigt.

Tacksam för svar!

Permalänk: https://www.webforum.nu/p/136954

## #2 — tydal, 2005-11-04T15:45Z

512 ser lite konstigt ut. Där borde det väl stå längden på den sträng du skickar? Och så ska det vara ny-rad efter varje kommando.

Permalänk: https://www.webforum.nu/p/1702190

## #3 — andreaswebb, 2005-11-04T18:48Z

Det gör ingen skillnad vad  jag än sätter istället för 512. Jag testar att sätta \\r\\n framför strängen jag skickar, men det hjälper inte. Tror inte att de har någonting med saken att göra. Men det var bra tankar. Jag gjorde lite undersökningar för att kolla var scriptet stannar. Jag kan skicka det första kommandot, men det är när scriptet försöker skriva ut resultatet en andra gång som det slutar, det verkar som om while(SOCKET) slutar att gälla.

Permalänk: https://www.webforum.nu/p/1702245

## #4 — tydal, 2005-11-04T19:10Z

> **andreaswebb skrev:**
>
> Men det var bra tankar.

:-)

Jag har skrivit en del klienter och servrar som snackar POP3, bland annat Poputil: <http://www.tydal.nu/article/90>

Du måste ha ny-rad =efter= varje kommando (inte före). För att \\r\\n ska utläsas som CRLF i Php måste du ha det inom citationstecken (inte apostrofer).

fwrite(SOCKET, "USER andreas\\r\\n");
fwrite(SOCKET, "PASS hej\\r\\n");

Och sen bör du väl göra något när du kommer in. STAT t.ex, och sedan QUIT. Nu kommer den ju bara att skicka "PASS hej" i all oändlighet...

Permalänk: https://www.webforum.nu/p/1702257

## #5 — andreaswebb, 2005-11-04T19:26Z

Nu funkar det kanon! Tack ska du ha..:)

Permalänk: https://www.webforum.nu/p/1702262

---

Tråden på webben: https://www.webforum.nu/amne/php/136954-fråga-om-sockets-och-pop3
