Profile-cast provides a novel data dissemination paradigm in mobile opportunistic networks, allowing messages to be disseminated to nodes based on their profiles rather than network identities. Profile-cast has attracted increasing attention, but most of existing algorithms cannot account for some scenarios where multiple attributes need to be considered simultaneously in a profile. We focus on the multi-attribute profile-cast (MapCast) paradigm, where the node’s profile is represented by a multi-dimensional vector, which may contain multiple attributes of the node such as its behavior, interest, social information, etc. First, we consider a scenario with a fixed source node. We construct a message dissemination tree using the node encounter history. Then we propose a dissemination tree based MapCast algorithm, which adapts a heuristic search algorithm to select relay nodes so that the destination node can receive the message as soon as possible and the network has a low overhead. Second, we consider a more complex scenario with unfixed source nodes. In this scenario, the concept of group profile is defined, and a new high-efficient algorithm, group-profile based MapCast (G-MapCast), is proposed to limit the scope of message forwarding to the nodes whose profile or group profile satisfies certain delivery conditions. To further reduce the network overhead, we propose a network coding based MapCast algorithm on the basis of G-MapCast. Finally, we provide simulation results based on two real human contact datasets and verify the effectiveness and superiority of our algorithms.