msnp-wiki/docs/commands/msg.md
yellows111 ce7c3bee1c
0.2.0: The Winter Roll-up
i have basically touched every file help

* Moved all the error code stuff to one new sectional page, because the old way of doing it sucked big time.
* Rename passport (soap) to RST
* Formatting changes (many)
* Several corrections
* change git host because git.kevinthe.horse seems Dead
2024-12-18 20:16:29 +00:00

194 lines
4.8 KiB
Markdown

# Introduction
`MSG` is a command introduced with [MSNP2](../versions/msnp2.md).
It is a Notification and Switchboard Server command, WITH a request and WITH a response payload.
Used to transfer MIME-headered data to other parties, whenever that be you or other users.
# Client/Request
*This command can only be sent in a Switchboard session.*
```
MSG TrID [ U | N | A | D ] length
payload
```
## Acknowledgement Types
* U: Unacknowledged, no response is sent.
* A: Acknowledged, a [ACK](ack.md) response is sent if the message is sent successfully.
* N: Negative-Acknowledged, a [NAK](nak.md) response is sent if the messaged failed to send successfully.
* D: Data, a version of Acknowledged that also has a response of error 282 if the message was poorly formatted.
Acknowledgement Type `D` is defined since [MSNP9](../versions/msnp9.md).
Where `length` is the size (in bytes) of the `payload`.
Where `payload` is the body of the message,
usually containing a `MIME-Version` header and a `Content-Type`.
# Server/Response
```
MSG user-handle friendly-name length
payload
```
Where `user-handle` is either the senders's handle,
or `Hotmail`, if sent from the Notification Server itself.
Where `friendly-name` is either the URL-encoded Friendly Name of the sender,
or `Hotmail`, if sent from the Notification Server itself.
Where `length` is the size (in bytes) of the `payload`.
Where `payload` is the body of the message,
usually containing a `MIME-Version` header and a `Content-Type`.
# Examples
## Client initated
### Unacknowledged message
```
C: MSG 1 U 76
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
unacknowledged
```
### Acknowledged message
```
C: MSG A 2 74
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
acknowledged
S: ACK 2
```
### Negative-Acknowledged message
```
C: MSG 3 2 86
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
negatively acknowledged?
S: NAK 3
```
### Data message
*Since [MSNP9](../versions/msnp9.md).*
```
C: MSG 4 D 73
MIME-Version: 1.0
Content-Type: application/octet-stream
data message
S: ACK 4
```
### Poorly formatted data message
*Since [MSNP9](../versions/msnp9.md).*
```
C: MSG 5 D 75
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
data message?
S: 282 5
```
### Invalid context (Notification Server)
*Inherited from being an unimplemented command.*
```
C: MSG 6 U 0
```
Server disconnects client.
## Server initated
### Notification Server
#### Initial profile
*NOTE: This profile is from [MSNP2](../versions/msnp2.md), later versions have longer initial profiles.*
```
S: MSG Hotmail Hotmail 95
MIME-Version: 1.0
Content-Type: text/x-msmsgsprofile; charset=UTF-8
LoginTime: 1726321960
```
#### Initial e-mail configuration
*NOTE: In [MSNP2](../versions/msnp2.md) only, the type of the initial e-mail configuration was
`application/x-msmsgsemailnotification`, which was changed in [MSNP3](../versions/msnp3.md) to
`text/x-msmsgsinitialemailnotification`.*
```
S: MSG Hotmail Hotmail 221
MIME-Version: 1.0
Content-Type: text/x-msmsgsinitialemailnotification; charset=UTF-8
Inbox-Unread: 1
Folders-Unread: 0
Inbox-URL: /cgi-bin/HoTMaiL
Folders-URL: /cgi-bin/folders
Post-URL: http://www.hotmail.com
```
#### New e-mail
*NOTE: In [MSNP2](../versions/msnp2.md) only, the type of the e-mail notifications was
`application/x-msmsgsemailnotification`, which was changed in [MSNP3](../versions/msnp3.md) to
`text/x-msmsgsemailnotification`, and also added the `id` header for automatic Passport authentication,
and the `Post-URL` was also changed from `http://www.hotmail.com` to
either the passport `md5auth.srf` of your account server or provided by a Hotmail `law` server.*
```
S: MSG Hotmail Hotmail 359
MIME-Version: 1.0
Content-Type: text/x-msmsgsemailnotification; charset=UTF-8
From: Example User
Message-URL: /cgi-bin/getmsg?msg=MSG1728932553.00&start=1&len=12&curmbox=ACTIVE
Post-URL: https://loginnet.passport.com/ppsecure/md5auth.srf?lc=1033
Subject: =?"us-ascii"?Q?Just saying hello.?=
Dest-Folder: ACTIVE
From-Addr: example@hotmail.com
id: 2
```
#### Mailbox activity
```
S: MSG Hotmail Hotmail 146
MIME-Version: 1.0
Content-Type: text/x-msmsgsactivemailnotification; charset=UTF-8
Src-Folder: ACTIVE
Dest-Folder: ACTIVE
Message-Delta: 1
```
#### System message
*NOTE: There may be other types of system messages, `Type` 1 is for a server shutdown message,
`Arg1` in this case would be the minutes before the server is set to shutdown.*
```
S: MSG Hotmail Hotmail 88
MIME-Version: 1.0
Content-Type: application/x-msmsgssystemmessage
Type: 1
Arg1: 5
```
### Switchboard Server
```
S: MSG example@hotmail.com example%20user 73
MIME-Version: 1.0
Content-Type: text/plain;charset=UTF-8
acknowledged
```
# Known changes
* [MSNP3](../versions/msnp3.md): Switchboard: Added support for the `X-MMS-IM-Format` header.
* [MSNP9](../versions/msnp9.md): Switchboard: Added acknowledgement type D.