A new coding scheme for multicasting a message over a general relay network is presented. The scheme naturally extends both network coding for graphical networks by Ahlswede, Cai, Li, and Yeung, and partial decode--forward for relay channels by Cover and El Gamal. When applied to the $N$-node Gaussian multicast network, the scheme achieves within $0.5N$ bits from the capacity. The key idea is to use multicoding at the source encoder as in Marton coding for broadcast channels. Instead of recovering a certain part of the message as in the original partial decode--forward scheme, a relay in the proposed distributed decode--forward scheme recovers an auxiliary index and forwards it in block Markov coding. It is also discussed how multicoding can be adapted to broadcasting multiple messages.