Communities are important attributes of today’s networking, since people who join networks tend to join communities. Thus, community detection is an important issue in designing algorithms for delay-tolerant networks (DTNs). Multicasting is an appropriate method to share information within a community or between communities, because it delivers messages from a source to a group of targets using limited resources. This paper addresses the problem of detecting communities in weighted networks with irregular topologies. Based on communities, we propose an efficient data distribution algorithm for DTNs. The distribution strategy is based on the construction of a number of multicast trees, where each tree can be used to select the best relay node for each target to improve multicast efficiency. The proposed strategy provides better delivery ratio compared with other strategies and it reduces latencies when multiple nodes from a community need to multicast to other community members.